本人大三巨量資料專業,上週初學如何搭建hadoop環境。設定好了靜態ip搭建完了hadoop分散式叢集後,開始搭建Zookeeper軟體,之後搭建hbase環境(https://blog.csdn.net/master_hunter/article/details/108704148)。在此領域本人有諸多不明確疑問,可能文章會有些許錯誤,望大家在評論區指正,本篇文章錯誤將會不斷更正維護。
具體參考了https://www.cnblogs.com/Genesis2018/p/8304708.html
這位大佬的安裝步驟。
為了實現分散式服務中的資料同步與一致性、群組管理監控、分佈投票與鎖、以及命名定址等,需要在叢集中提供分散式協調服務。為此便產生了Zookeeper。
Zookeeper採用叢集化部署方式,一般部署在多臺伺服器上,以防單點失效。為了在投票時易於收斂一般採用奇數臺伺服器部署。具體架構和儲存結構本篇文章不給予闡述,只是部署。
本人用的是清華映象下載的是3.4.14版本的Zookeeper,建議使用帶bin字尾的tar包下載,不帶bin字尾為原始碼形式未編譯,安裝完後缺少bin目錄,會報錯。
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的資料目錄
mkdir -p /usr/local/zookeeper- 3.4.14/data
編輯設定環境
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
開啟所有節點上的zkserver
檢視各個節點的狀態
/zkServer.sh status
如果成功啟動則會顯示該節點推選結果是leader或者follower
需要根據紀錄檔報的錯誤自行調配,之後我會發布關於設定zookeeper常見錯誤的一些解決方法,希望能幫到大家!