hbase-2.2.7分布式搭建
1、上传解压配置环境变量
shell
# 1、解压
tar -xvf hbase-2.2.7-bin.tar.gz.gz
# 2、配置环境变量
vim /etc/profile
# 3、在最后增加配置
export HBASE_HOME=/usr/local/soft/hbase-2.2.7
export PATH=$PATH:$HBASE_HOME/bin
# 4、使环境变量剩下
source /etc/profile
2、修改配置文件
shell
#1、修改hbase-site.xml文件
vim hbase-site.xml
# 增加以下配置
<!--指定 zookeeper 服务器 -->
<property>``
<name>hbase.zookeeper.quorum</name>
<value>master,node1,node2</value>
</property>
<!--指定 hbase 根路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<!--将 hbase 设置为分布式部署。 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/local/soft/hbase-2.2.7/tmp</value>
</property>
<!-- 避免出现启动错误。 -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
#2、修改hbase-env.sh文件
vim hbase-env.sh
# 增加配置
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
#3、修改regionservers文件
vim regionservers
# 增加配
node1
node2
同步到所有节点(如果是伪分布式不需要同步)
scp -r hbase-2.2.7 node1:`pwd`
scp -r hbase-2.2.7 node2:`pwd`
3、启动Hbase集群
shell
hbase启动顺序:
zk-->hadoop-->hbase
hbase关闭顺序:
hbase-->hadoop-->zk
# 启动
start-hbase.sh
# hbase web ui
http://master:16010
# 关闭hbase启动
#stop-hbase.sh
解决 log4j 兼容性问题
警告信息,不影响使用
LF4J: Class path contains multiple SLF4J bindings.
shell
cd /usr/local/soft/hbase-2.2.7/lib/client-facing-thirdparty
# HBase 与 Hadoop 在运行时会出现 log4j 兼容性问题,这是因为 HBase 的 log4j 版本与 Hadoop 的产生了冲突,我们这里将 HBase 的 log4j 设置为备份。
mv slf4j-log4j12-1.7.25.jar slf4j-log4j12-1.7.25.jar.bak