步骤1
启动HDFS (参考实验一),注意Hbase是运行在HDFS之上的,必须安装好和启动HDFS才能使用Hbase;
cd ~/hadoop-2.7.3/sbin ./start-all.sh (期间可能提示输入系统密码)
同时注意我们使用Hbase自带的zookeeper服务
步骤2
下载并解压hbase-1.1.2-bin.tar.gz,放在当前登陆用户目录~下
cd ~ tar -xvf hbase-1.1.2-bin.tar.gz
在终端Terminal中用tar解压文件
在bash文件(.bashrc) 中添加Java和Hbase路径, 使用户可以直接访问java和hbase
命令 cd ~ gedit .bashrc vi.bashrc 结尾处添加下面几行: export JAVA_HOME=$HOME/jdk1.8.0_101 export PATH=$PATH:$HOME/jdk1.8.0_101/bin export PATH=$PATH:/home/ubuntu/hbase-1.1.2/bin
保存.bashrc文件并退出
运行命令 source .bashrc使路径在当前终端起效
步骤4
更新Hbase访问文件夹的权限
命令 sudo chown -R $USER ~/hbase-1.1.2
步骤5
查看hbase版本
命令 hbase version
类似下面输出说明安装配置正确
步骤6
在hbase-env中配置Hbase的JAVA环境变量,并设置Hbase_MANAGES_ZK为true,表示hbase自己管理zookeeper,而不需要单独的zookeeper。注意hbase-env.sh中这些变量被注释(#)了,只需要删除前面的#并修改其值即可
命令 gedit ~/hbase-1.1.2/conf/hbase-env.sh vi ~/hbase-1.1.2/conf/hbase-env.sh 做如下更改: export JAVA_HOME=/home/ubuntu/jdk1.8.0_101 export Hbase_MANAGES_ZK=true
然后保存退出vi编辑器。
步骤7
配置hbase-site.xml,设置Hbase的数据保存位置,如果不设置,默认位置是/tmp/hbase-${user.name},即每次Linux重启都会清空hbase的数据,所以需要修改
命令 mkdir ~/hbase_tmp && chmod 777 ~/hbase_tmp 同时创建zookeeper数据管理目录 命令 mkdir ~/zookeeper && chmod 777 ~/zookeeper (针对部分Linux版本,如果666启动失败,改为777) 命令 gedit ~/hbase-1.1.2/conf/hbase-site.xml 在configuration标签中添加property, 如下图红色部分所示hbase.rootdir file:///home/${user.name}/hbase_tmp hbase.zookeeper.property.dataDir /home/${user.name}/zookeeper
步骤8
启动hbase
命令 cd ~/hbase-1.1.2/bin ./start-hbase.sh 查看各进程与服务状态 jps No such file or directory
看到HMaster说明Hbase主进程在运行
步骤9
打开hbase shell,看到类似下面输出,即可进行shell操作
命令: cd ~/hbase-1.1.2/bin ./hbase shell
注意,如果创建表create或者添加记录put提示zookeeper connection 错误,则说明前面的zookeeper没有配置好,重新检查设置
步骤10
在hbase数据库中创建表book,表结构如下图,并添加两条记录,例如:
create 'gaoshuang', {NAME=>'writing'}, {NAME=>'publishing'}
put'gaoshuang', 'Java','publishing:press','Tsinghua University Press'
put'gaoshuang', 'Java','publishing:city','Beijing'
put'gaoshuang', 'Java','publishing:isbn','9787507600920'
put'gaoshuang', 'Python','publishing:press','Xi’an Jiaotong University Pres'
put'gaoshuang', 'Python','publishing:city','Xi an'
put'gaoshuang', 'Python','publishing:isbn','9787507600920'
scan 'gaoshuang'
get'gaoshuang','Java'
get'gaoshuang','Python'



