前言:
請(qǐng)先確保 Hadoop 集群搭建完成。
- Hadoop 完全分布式搭建(超詳細(xì))
搭建環(huán)境介紹:
三臺(tái)主機(jī),一主兩從,系統(tǒng)為 Centos 7.5。
相關(guān)組件版本信息如下:
- jdk1.8
- hadoop-3.1.3
- zookeeper-3.5.7
- hbase-2.2.3
注意,以下安裝教程中涉及到的路徑請(qǐng)?zhí)鎿Q成自己的!
ZooKeeper 安裝
解壓并改名
# 解壓文件
cd /opt/software/
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
# 改名
cd /opt/module
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
添加環(huán)境變量
vim /etc/profile
在文件末尾插入如下代碼:
#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin
最后使修改生效:source /etc/profile
配置服務(wù)器編號(hào)
在 ZooKeeper 安裝目錄下創(chuàng)建一個(gè)文件夾 zkData
,在 zkData
中創(chuàng)建一個(gè)文件 myid
用以保存服務(wù)器編號(hào)。
# 進(jìn)入 ZooKeeper 安裝目錄
cd $ZOOKEEPER_HOME
# 創(chuàng)建文件夾
mkdir zkData
# 創(chuàng)建文件并添加編號(hào)
cd zkData
echo 1 > myid
配置 zoo.cfg 文件
# 進(jìn)入 ZooKeeper 的配置文件目錄
cd $ZOOKEEPER_HOME/conf/
# 修改文件名稱
mv zoo_sample.cfg zoo.cfg
# 編輯 zoo.cfg 文件
vim zoo.cfg
修改數(shù)據(jù)的存儲(chǔ)位置,指定為:/opt/module/zookeeper-3.5.7/zkData
然后在文件末尾添加服務(wù)器配置,如下所示:
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
#監(jiān)聽所有IP
quorumListenOnAllIPs=true
注意,每一行的后面都不要有空格。
添加完成后保存并退出。
文件分發(fā)與同步
在 master 服務(wù)器中將 ZooKeeper 安裝文件分發(fā)到其它服務(wù)器上。
scp -r /opt/module/zookeeper-3.5.7/ slave1:/opt/module/
scp -r /opt/module/zookeeper-3.5.7/ slave2:/opt/module/
在 master 服務(wù)器中將環(huán)境變量文件同步至其它服務(wù)器中。
rsync /etc/profile root@slave1:/etc/profile
rsync /etc/profile root@slave2:/etc/profile
我們分別進(jìn)入 slave1、slave2 服務(wù)器中,先初始化環(huán)境變量,然后修改 ZooKeeper 編號(hào),編輯 myid
文件,依次寫入為:2
,3
。
啟動(dòng) ZooKeeper
我們分別進(jìn)入 master、slave1、slave2 服務(wù)器中,啟動(dòng) ZooKeeper 服務(wù)。
# 啟動(dòng) ZooKeeper
zkServer.sh start
啟動(dòng)完成后會(huì)顯示出如下 STARTED
提示:
我們也可以通過命令 jps
來檢查 ZooKeeper 服務(wù)是否啟動(dòng),如下所示:
HBase 安裝
解壓
cd /opt/software/
# 解壓 HBase 安裝包
tar -zxvf hbase-2.2.3-bin.tar.gz -C /opt/module/
配置環(huán)境變量
通過 vim /etc/profile
命令編輯配置文件,在文件末尾輸入如下代碼(不可以有空格):
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase-2.2.3
export PATH=$PATH:$HBASE_HOME/bin
然后,保存并退出。執(zhí)行命令 source /etc/profile
,使剛剛的配置生效。
配置 HBase 相關(guān)文件
首先切換到 HBase 安裝文件的 conf
目錄下。
cd $HBASE_HOME/conf
1、修改 hbase-env.sh
文件
在文件末尾添加如下內(nèi)容:
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/opt/module/jdk1.8
添加完成后保存并退出。
2、配置 hbase-site.xml
文件
在 configuration
標(biāo)簽中添加如下內(nèi)容:
<!--指定 zookeeper 服務(wù)器 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<!--指定 hbase 根路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:8020/hbase</value>
</property>
<!--將 hbase 設(shè)置為分布式部署。 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 避免出現(xiàn)啟動(dòng)錯(cuò)誤。 -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
修改完成后保存并退出。
3、修改 regionservers
文件
添加如下內(nèi)容:
master
slave1
slave2
添加完成后保存并退出。
解決 log4j 兼容性問題
HBase 與 Hadoop 在運(yùn)行時(shí)會(huì)出現(xiàn) log4j 兼容性問題,這是因?yàn)?HBase 的 log4j 版本與 Hadoop 的產(chǎn)生了沖突,我們這里將 HBase 的 log4j 設(shè)置為備份。
mv /opt/module/hbase-2.2.3/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar /opt/module/hbase-2.2.3/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar.bak
文件分發(fā)與同步
將 master 服務(wù)器的 HBase 安裝文件分發(fā)到 slave1、slave2 服務(wù)器上。
cd /opt/module
scp -r hbase-2.2.3/ slave1:/opt/module
scp -r hbase-2.2.3/ slave2:/opt/module
將 master 服務(wù)器的環(huán)境變量文件與 slave1、slave2 服務(wù)器進(jìn)行同步。
rsync /etc/profile slave1:/etc/profile
rsync /etc/profile slave2:/etc/profile
在 slave1、slave2 服務(wù)器上分別執(zhí)行 source /etc/profile
使發(fā)送來的配置生效。
啟動(dòng) HBase 集群
只需要在 master 服務(wù)器上執(zhí)行。
# 啟動(dòng) HBase 服務(wù)
start-hbase.sh
啟動(dòng)后會(huì)出現(xiàn)如下提示:
驗(yàn)證 HBase 節(jié)點(diǎn)在三臺(tái)機(jī)器上的運(yùn)行情況,正常啟動(dòng)如下圖所示:
文章來源:http://www.zghlxwxcb.cn/news/detail-764553.html
HBase 分布式搭建完成啦!文章來源地址http://www.zghlxwxcb.cn/news/detail-764553.html
到了這里,關(guān)于HBase 分布式搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!