前言
本人大三大數據專業,上週初學如何搭建hadoop環境。配置好了靜態ip搭建完了hadoop分佈式集羣后,開始搭建Zookeeper軟件,以後搭建hbase環境(https://blog.csdn.net/master_hunter/article/details/108704148)。在此領域本人有諸多不明確疑問,可能文章會有些許錯誤,望你們在評論區指正,本篇文章錯誤將會不斷更正維護。html
具體參考了https://www.cnblogs.com/Genesis2018/p/8304708.htmlapache
這位大佬的安裝步驟。服務器
1、Zookeeper是什麼?
爲了實現分佈式服務中的數據同步與一致性、羣組管理監控、分佈投票與鎖、以及命名尋址等,須要在集羣中提供分佈式協調服務。爲此便產生了Zookeeper。架構
2、安裝步驟
Zookeeper採用集羣化部署方式,通常部署在多臺服務器上,以防單點失效。爲了在投票時易於收斂通常採用奇數臺服務器部署。具體架構和存儲結構本篇文章不給予闡述,只是部署。分佈式
1.鏡像下載
本人用的是清華鏡像下載的是3.4.14版本的Zookeeper,建議使用帶bin後綴的tar包下載,不帶bin後綴爲源代碼形式未編譯,安裝完後缺乏bin目錄,會報錯。oop
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper- 3.4.14/zookeeper- 3.4.14.tar.gz
tar -zxvf apache-zookeeper-3.4.14.bin.tar.gz
將zookeeper移至local目錄下大數據
mv zookeeper- 3.4.14 /usr/local/
建立zookeeper的數據目錄
ui
mkdir -p /usr/local/zookeeper- 3.4.14/dataspa
編輯配置環境
cp /usr/local/zookeeper- 3.4.14/conf/zoo_sample.cfg /usr/local/zookeeper- 3.4.14/conf/zoo.cfg
vi /usr/local/zookeeper- 3.4.14/conf/zoo.cfg
在zoo.cfg添加部署的虛擬機地址
dataDir=/usr/local/zookeeper- 3.4.14/data
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
2888端口號是ZooKeeper服務之間通訊的端口,而3888是ZooKeeper與其餘應用程序通訊的端口。
配置zookeeper的環境變量
vi /etc/profile.d/zookeeper.sh
添加
export ZOOKEEPER_HOME=/usr/local/zookeeper- 3.4.14
export PATH=$PATH:$ZOOKEEPER_HOME/bin
記得執行生效
source /etc/profile.d/zookeeper.sh
傳給其餘虛擬機
scp -r /etc/profile.d/zookeeper.sh hadoopxx:/etc/profile.d/
scp -r /usr/local/zookeeper- 3.4.14 hadoopxx:/usr/local/
查看命令執行成功與否
echo $?
0
在其餘節點上
vi /usr/local/zookeeper- 3.4.14/data/myid
添加
1
根據節點數量依次排列
文件中只包含一行,且內容爲該節點對應的從屬節點中的id
編號。主節點和從屬節點分別對應的myid文件中的值是1和2....。
執行保存
source /etc/profile.d/zookeeper.sh
回到master上開啓zookeeper
/usr/local/zookeeper- 3.4.14/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper- 3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
利用zkCli.sh連接zookeepe
/usr/local/zookeeper- 3.4.14/bin/zkCli.sh -server hadoop1:2181
[zk: localhost:2181(CONNECTED) 0] help
[zk: localhost::2181(CLOSED) 3] quit
在其餘節點上開啓服務
# /usr/local/zookeeper- 3.4.14/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper- 3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED# /usr/local/zookeeper- 3.4.14/bin/zkCli.sh -server hadoopxx:2181
[zk:hadoopxx:2181(CONNECTED) 0] quit
1.啓動測試
開啓全部節點上的zkserver
查看各個節點的狀態
/zkServer.sh status
若是成功啓動則會顯示該節點推選結果是leader或者follower
總結
須要根據日誌報的錯誤自行調配,以後我會發布關於配置zookeeper常見錯誤的一些解決方法,但願能幫到你們!