Hbase 在大数据的体系中扮演着DB角色,不得不说是重要的一员,在上一篇,大猪 已经给大家演示了 Hadoop 3.2 集群搭建 了,本次我们将继续紧接着搭建Hbase集群。
由于我们安装是Hbase的集群版本,这里将会使用到独立的 Zookeeper。
Zookeeper 与 Hbase 使用的版本也将都是最新版本,坑嘛,自然由大猪来趟。
服务器一
curl -O http://apache.mirrors.ionfish.org/zookeeper/stable/zookeeper-3.4.14.tar.gz
解压更名
tar -zxvf zookeeper-3.4.14.tar.gz
mv zookeeper-3.4.14 zookeeper
配置PATH环境
echo -e 'export ZK_HOME=/soft/zookeeper \nexport PATH=$PATH:$ZK_HOME/bin' >> /etc/profile
# 立即生效
source /etc/profile
coo.cfg 配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/soft/zookeeper/data
dataLogDir=/soft/zookeeper/logs
clientPort=2181
server.1=m1.example.com:2888:3888
server.2=m2.example.com:2888:3888
创建目录
mkdir -p /soft/zookeeper/data
mkdir -p /soft/zookeeper/logs
配置zk的日志输出路径
# 在第二行添加下面语句到 bin/zkServer.sh 中
export ZOO_LOG_DIR=/soft/zookeeper/logs
创建zk id标识
echo 1 > /soft/zookeeper/data/myid
服务器二
复制zookeeper到服务器二soft目录上
scp -r zookeeper root@m2.example.com:/soft
创建zk id标识
echo 2 > /soft/zookeeper/data/myid
创建目录 => 同上
配置PATH环境 => 同上
ZK启动
# 服务器一
zkServer.sh start
# 服务器二
zkServer.sh start
# 成功如下
[root@m1 data]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /soft/zookeeper/bin/../conf/zoo.cfg
Mode: follower 或 leader
Hbase操作
curl -O https://www.apache.org/dyn/closer.lua/hbase/2.1.4/hbase-2.1.4-bin.tar.gz
解压更名
tar -zxvf hbase-2.1.4-bin.tar.gz
mv hbase-2.1.4 hbase
配置PATH环境
echo -e 'export export HBASE_HOME=/soft/hbase \nexport PATH=$PATH:$HBASE_HOME/bin' >> /etc/profile
# 立即生效
source /etc/profile
hbase-site.xml 配置
<property>
<name>hbase.rootdir</name>
<value>hdfs://m1.example.com:9000/hbase</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.master</name>
<value>16010</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>m1.example.com,m2.example.com</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/soft/zookeeper/data</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
regionservers 添加
m1.example.com
m2.example.com
backup-masters 添加
m1.example.com
下载 htrace-core-3.2.0-incubating.jar 到 hbase/lib 目录中
curl -O http://central.maven.org/maven2/org/apache/htrace/htrace-core/3.2.0-incubating/htrace-core-3.2.0-incubating.jar
bin/hbase-env.sh 添加
export JAVA_HOME=/soft/jdk1.8
export HBASE_MANAGES_ZK=false
复制hbase到另一台服务器上
scp -r hbase root@m2.example.com:/soft
另一台的环境配置跟上面一样
可以启动Hbase了
start-hbase.sh
尝试创建一张表
hbase shell
create 'logTable',{NAME => 'info',TTL => '3 DAYS',CONFIGURATION => {'SPLIT_POLICY' => 'org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy','KeyPrefixRegionSplitPolicy.prefix_length'=>'2'}},SPLITS => ['20','80']
访问 http://m1.example.com:16010
提示
如果日志中出现下面的错误
Master startup cannot progress, in holding-pattern until region onlined
则执行zkCli.sh删除meta信息,重启Hbase即可
zkCli.sh -server 127.0.0.1
rmr /hbase/meta-region-server