Hbase2.1 叢集搭建
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 [email protected]:/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 [email protected]:/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
心明眼亮的你、從此刻開始。

