hbase的集群安装过程
1.HBASE是cs结构,包含主节点和从节点。
namenode1作为主节点,datanode1、datanode2作为从节点。
1.1 前提条件是什么?
已经安装了hadoop集群、zookeeper集群。
1.2 hbase的安装版本
一定要匹配hadoop的版本。我们安装的是hbase-0.98.8-hadoop2
1.3 hbase的配置
1.3.1 修改环境变量
# vim /etc/profile
export HBASE_HOME=/usr/local/hadoop/hbase
export PATH=$PATH:$JAVA_HOME/bin;$HBASE_HOME/bin;
1.3.2 hbase-env.sh
修改 export JAVA_HOME=/usr/java/jdk1.7.0_75
修改 export HBASE_MANAGES_ZK=false
1.3.3 hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://namenode1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>namenode1,datanode1,datanode2</value>
</property>
1.3.4 执行命令hdfs dfs -mkdir /hbase 创建hbase存放数据的目录
1.3.5 编辑regionservers(存放从节点的地址信息),增加如下两行内容
datanode1
datanode2
1.3.6 复制HBase到其他节点
scp -rq /usr/local/hadoop/hbase datanode01:/usr/local/hadoop
scp -rq /usr/local/hadoop/hbase datanode02:/usr/local/hadoop
1.3.7 验证
执行命令./start-hbase.sh
在datanode1节点执行jps命令,可以观察到HMaster进程,说明启动成功。
在datanode2和datanode3节点执行jps命令,可以观察到HRegionServer进程。
1.3.8 遇到的问题及解决方案
第一次启动时日志中输出如下信息:
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/imp
这说明HBase中的slf4j-log4j12-1.6.4.jar文件和hadoop-2.6.0中的冲突了,删掉HBase中的重启即可,如有其它jar冲突,做法一样。
1.3.9 hbase客户端shell启动命令
./hbase shell