搭建Zookeeper叢集 Linux環境中
阿新 • • 發佈:2018-11-22
1.下載Zookeeper(建議下載到目錄 /usr/local/)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
Zookeeper官網下載地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
2.解壓Zookeeper
tar -zxvf zookeeper-3.4.10.tar.gz
3.重新命名
mv zookeeper-3.4.10 zookeeper
4.增加Zookeeper環境變數(Zookeeper需要依賴java環境
vim /etc/profile
在檔案末尾追加
export JAVA_HOME=/usr/local/jdk1.8.0_191
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ZOOKEEPER_INSTALL=/usr/local/zookeeper
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_INSTALL/bin
5.修改zoo_sample.cfg檔案(usr/local/zookeeper/conf目錄下)
修改名稱(Zookeeper預設讀取coo.cfg,zoo_sample.cfg是Zookeeper給予我們的示例檔案,兩個檔案不能同時存在) mv zoo_sample.cfg zoo.cfg
6.修改zoo.cfg
vim zoo.cfg
dataDir=/usr/local/zookeeper/data #更改
dataLogDir=/usr/local/zookeeper/logs #新增
##檔案末尾追加
quorumListenOnAllIPs=true ##貌似雲伺服器必須加這句 虛擬機器vm好像不用
server.0=47.75.47.221:2888:3888 #叢集ip
server.1=119.29.112.106:2888:3888
server.2=47.106.239.90:2888:3888
7.在Zookeeper中新建data和logs目錄
cd /usr/local/zookeeper mkdir data logs
8.進入data目錄新建myid(Zookeeper根據myid來關聯叢集)
myid的值是zoo.cfg檔案裡定義的server.A項A的值,Zookeeper 啟動時會讀取這個檔案,拿到裡面的資料與 zoo.cfg
裡面的配置資訊比較從而判斷到底是那個server,只是一個標識作用。
cd /usr/local/zookeeper/data
touch myid
vim myid
##第一行寫入該伺服器對應的id
##如該伺服器ip為:47.75.47.221,在zoo.cfg中47.75.47.221對應的server為0,則書寫"0"即可
9.關閉每臺伺服器的防火牆
systemctl stop firewalld.service
10.啟動Zookeeper
cd /usr/local/zookeeper/bin
./zkServer.sh start
#叢集伺服器節點都需要啟動
./zkServer.sh status #檢視zk狀態(一主多從)