CentOS6.7搭建Zookeeper

2020-09-23 13:00:42

 

 


前言

本人大三巨量資料專業,上週​​​​​初學如何搭建hadoop環境。設定好了靜態ip搭建完了hadoop分散式叢集後,開始搭建Zookeeper軟體,之後搭建hbase環境(https://blog.csdn.net/master_hunter/article/details/108704148)。在此領域本人有諸多不明確疑問,可能文章會有些許錯誤,望大家在評論區指正,本篇文章錯誤將會不斷更正維護。

具體參考了https://www.cnblogs.com/Genesis2018/p/8304708.html

這位大佬的安裝步驟。


 

一、Zookeeper是什麼?

為了實現分散式服務中的資料同步與一致性、群組管理監控、分佈投票與鎖、以及命名定址等,需要在叢集中提供分散式協調服務。為此便產生了Zookeeper。

 

二、安裝步驟

Zookeeper採用叢集化部署方式,一般部署在多臺伺服器上,以防單點失效。為了在投票時易於收斂一般採用奇數臺伺服器部署。具體架構和儲存結構本篇文章不給予闡述,只是部署。

1.映象下載

 本人用的是清華映象下載的是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解壓縮下載的檔案

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
 

 

1.啟動測試

開啟所有節點上的zkserver

檢視各個節點的狀態

/zkServer.sh status

如果成功啟動則會顯示該節點推選結果是leader或者follower


總結

需要根據紀錄檔報的錯誤自行調配,之後我會發布關於設定zookeeper常見錯誤的一些解決方法,希望能幫到大家!