# 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
#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.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`
hbase启动顺序:
zk-->hadoop-->hbase
hbase关闭顺序:
hbase-->hadoop-->zk
# 启动
start-hbase.sh
# hbase web ui
http://master:16010
# 关闭hbase启动
#stop-hbase.sh
警告信息,不影响使用
LF4J: Class path contains multiple SLF4J bindings.
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
HBase是一款开源高可靠性、扩展性、高性能和灵活性的分布式非关系型数据库,本文围绕数据库选型以及使用HBase的痛点展开,从四个方面对HBase的使用进行优化,取得了一些不错效果。
本文对 HBase Compaction 的原理、流程以及限流的策略进行了详细的介绍,列举了几个线上进行调优的案例,最后对 Compaction 的相关参数进行了总结。