文章目錄:
▶ 單機環境搭建
▶ 設置zookeeper爲開機服務
▶ 集羣環境搭建
單機環境搭建
要求:
依賴Java環境
單機搭建過程:
進入到/opt目錄下,創建zookeeper 文件夾
cd /opt
mkdir zookeeper
進入到zookeeper文件夾下下載zookeeper包
或者手動下載地址:
https://www-eu.apache.org/dist/zookeeper/
cd zookeeper
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
解壓zookeeper-3.4.14.tar.gz文件
tar -zvxf zookeeper-3.4.14.tar.gz
進入配置文件目錄
重命名zoo_sample.cfg配置文件
zoo_sample.cfg 這個文件是官方給我們的zookeeper的樣板文件,給他複製一份命名爲zoo.cfg,zoo.cfg是官方指定的文件命名規則
cp zoo_sample.cfg zoo.cfg
進入到/opt/zookeeper/zookeeper-3.4.14目錄下新建data和logs兩個文件夾
cd /opt/zookeeper/zookeeper-3.4.14
mkdir data
mkdir logs
修改zoo.cfg 配置文件
cd conf
vi zoo.cfg
#輸入以下內容:
dataDir=/opt/zookeeper/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper/zookeeper-3.4.14/logs
#退出並保存
先按ESC鍵,輸入:wq!回車
進入到bin目錄,啓動zookeeper
./zkServer.sh start
利用 ./zkServer.sh status 查看當前zookeeper的狀態
./zkServer.sh status
至此,zookeeper的單機版搭建成功。
設置開機啓動
進入到 /etc/rc.d/init.d 目錄下 ,新建一個名爲 zookeeper 的文件
cd /etc/rc.d/init.d
mkdir zookeeper
touch zookeeper
編輯zookeeper文件,把文件修改爲 :
vi zookeeper
內容如下:
#!/bin/bash
#chkconfig: 2345 10 90
#description: service zookeeper
export JAVA_HOME=/opt/java8/jdk1.8.0_171
export ZOO_LOG_DIR=/opt/zookeeper/zookeeper-3.4.14/logs
ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.14
su root ${ZOOKEEPER_HOME}/bin/zkServer.sh "$1"
退出並保存 ,爲新建的/etc/rc.d/init.d/zookeeper文件添加可執行權限
chmod +x /etc/rc.d/init.d/zookeeper
把zookeeper這個腳本添加到開機啓動項裏面
chkconfig --add zookeeper
最後重啓linux
reboot
重啓之後 ,使用如下命令,查看zookeeper是否啓動
service zookeeper status
集羣環境搭建
下載:
https://www-eu.apache.org/dist/zookeeper/
https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
環境配置:
Linux服務器1:192.168.73.181
Linux服務器2:192.168.73.182
Linux服務器3:192.168.73.183
搭建過程:
進入到opt目錄下,新建zookeeper目錄,下載zookeeper文件
wget https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
解壓zookeeper文件
tar -zvxf zookeeper-3.4.14.tar.gz
重命名zoo_sample.cfg配置文件
cp zoo_sample.cfg zoo.cfg
進入到/opt/zookeeper/zookeeper-3.4.14目錄下新建data和logs兩個文件夾
cd /opt/zookeeper/zookeeper-3.4.14
mkdir data
mkdir logs
複製並修改zookeeper配置文件
cd conf
vi zoo.cfg
#輸入以下內容:
dataDir=/opt/zookeeper/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper/zookeeper-3.4.14/logs
增加如下配置:
server.1=192.168.73.181:2888:3888
server.2=192.168.73.182:2888:3888
server.3=192.168.73.183:2888:3888
解讀:
Server.A=B:C:D
A 是一個數字,表示這個是第幾號服務器
B 是這個服務器的 ip 地址
C 是這個服務器與集羣中的 Leader 服務器交換信息的端口
D 是萬一集羣中的 Leader 服務器掛了,需要一個端口來重新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時服務器相互通信的端口
#退出並保存
先按ESC鍵,輸入:wq!回車
- 集羣模式下配置一個文件 myid,這個文件在 data目錄下,這個文件裏面有一個數據就是 A 的值,Zookeeper
啓動時讀取此文件,拿到裏面的數據與 zoo.cfg 裏面的配置信息比較從而判斷到底是哪個 server
切換到data目錄下,創建一個 myid 的文件
touch myid
文件中添加與 server 對應的編號:如 2
其他服務器同上操作
分別啓動zookeeper
./zkServer.sh start
開啓端口號
/sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT
分別查看zookeeper集羣狀態
./zkServer.sh status
登錄zookeeper客戶端
./zkCli.sh
參考鏈接 :
zookeeper單機和集羣搭建過程詳細步驟:
https://mp.weixin.qq.com/s/F3NjmyjpSr4xJITGUbnbfg