环境:hadoop 2.7.3 + hbase 1.1.12
一、下载解压
到官网 http://hbase.apache.org 下载合适的版本(hbase与hadoop的版本要匹配,否则可能运行不起来),解压到某个目录即可
二、设置环境变量
export HBASE_HOME=/opt/hadoop/hbase-1.1.12 export PATH=$PATH:$HBASE_HOME/bin
即:添加HBASE_HOME变量,并将其加入PATH搜索路径
三、修改配置
1、单机模式:
(1)、修改conf/hbase-env.sh
添加java环境变量:
export JAVA_HOME=/opt/Java/jdk1.8.0_151
(2)、编辑hbase-site.xml
若是不配置默认是temp 每次启动会被清空
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/lin/hadoop/hbase-1.1.12/data</value>
</property>
</configuration>
(3)、启动hbase
$ bin/start-hbase.sh
jps 查看后 出现Hmaster就是启动成功 然后就可以进入shell进行对hbase的操作。
$ bin/hbase shell
单机模式配置成功!
2、伪分布模式:
伪分布模式需要用到hadoop文件系统 ,所以配置会比单机模式麻烦很多 并且需要版本匹配
(1)$HBASE_HOME/conf/hbase-env.sh
添加java环境变量和hbase_classpath(指向hadoop的配置文件目录)环境变量:
export JAVA_HOME=/opt/Java/jdk1.8.0_151 export HBASE_CLASSPATH=/opt/hadoop/hadoop-2.7.3/etc/hadoop
hdfs的ip和端口与hadoop下core-site.xml文件保持一致
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property>
四、启动
a) 先启动hadoop
b) $HBASE_HOME/bin/start-hbase.sh
不报错即可,启动完后,运行jps,检查下进程
21731 HQuorumPeer 19872 NameNode 21934 Jps 21780 HMaster 20221 NodeManager 19946 DataNode 21877 HRegionServer 20142 ResourceManager 20035 SecondaryNameNode
如果hadoop、hbase全部以伪分布模式安装在一台机器上,应该至少有上面8个进程,其中HMaster、HRegionServer、HQuorumPeer是HBASE启动后多出来的。
五、测试
a) 进入shell模式
$HBASE_HOME/bin/hbase shell
b) 新建表
create 'student','info'
c) 查看所有表
list
六、报错
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
原因是 hadoop的hdfs集群在安全模式的原因执行命令
hadoop dfsadmin -safemode leave
再重新启动habase就可以了