本文簡單介紹了zookeeper叢集的具體步驟,本人親自搭建,適合運維部署人員以及java開發人員,希望對其所有幫助。zookeeper作為服務的註冊中心在很多企業級軟體中均有應用,官方文件有更詳細的介紹。技術在於積累和分享,希望看到的讀者多多交流。
#最新安裝包請到官網下載,檢視原始碼請到git上檢視
#zk下載官網
https://downloads.apache.org/zookeeper/
#zk git地址
https://github.com/apache/zookeeper.git
1.準備三臺伺服器,例如:
192.168.1.100
192.168.1.101
192.168.1.102
#登入三臺伺服器建立安裝目錄
mkdir ‐p /app/{software,servers}
cd /app/servers
2.上傳zookeepr-3.4.8.tar.gz壓縮包cd /app/software/ #切換到安裝包路徑
tar ‐zxf zookeeper‐3.4.8.tar.gz #解壓縮專案
mv zookeeper‐3.4.8 zookeeper #重新命名檔名
cd /app/software/ #切換到安裝包路徑
tar ‐zxf zookeeper‐3.4.8.tar.gz #解壓縮專案
mv zookeeper‐3.4.8 zookeeper #重新命名檔名
3.新增zk環境變數#方法一:設定當前使用者zk系統變數echo export ZOOKEEPER_HOME =/app/servers/zookeeper >> ~/.bash_profile
echo export PATH=$ZOOKEEPER_HOME/bin:$PATH:$HOME/bin >> ~/.bash_profile
source ~/.bash_profile
#方法二:設定全域性使用者zk系統變數
vi /etc/profile
export ZOOKEEPER_HOME=/app/servers/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH:$HOME/bin
source /etc/profile #重啟系統變數
#注意:若編輯中出錯會導致linux系統很多命令不管用,需要使用絕對命令vi編輯
vi /etc/profile
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
4.安裝JDK1.8並配置環境變數#第一種rpm包(版本為舉例,實際按照開源釋出標準)
rpm ‐ivh jdk‐1.8_122.rpm #安裝成功後無需配置環境變數
yum install rpm #若無法使用命令請安裝
#第二種tar.gz包安裝(版本為舉例,實際按照開源釋出標準)1 tar ‐zxvf jdk‐1.8_122.tar.gz
#配置環境變數
vi /etc/profile
#在檔案末尾新增以下內容
export JAVA_HOME=/app/software/[jdk解壓後目錄] #若不知掉全路徑用pwd檢視
export PATH=$JAVA_HOME/bin:$PATH/bin:$HOME/bin #注意zk的配置
source /etc/profile
java ‐version #檢視配置是否成功
5.修改zookeeper中conf檔案cd /app/servers/zookeeper/conf
mv zoo_sample.cfg/ zoo.cfg
#將zoo_sample.cfg為zoo.cfg
#zoo.cfg詳細配置
vi zoo.cfg
#以下為修改內容
dataDir=/app/servers/zookeeper/data # zk資料存放目錄
#在檔案末尾新增:語法格式:server + myid = IP + 選舉埠 + 投票埠
server.0=192.168.1.100:2888:3888
server.1=192.168.1.101:2888:3888
server.2=192.168.1.102:2888:3888
6.建立data目錄cd /app/servers/zookeeper
mkdir data #建立data目錄
touch myid #差U那個教案myid檔案
vi myid #在檔案中寫入0[其它兩臺為1,2 編號可自己掌握,但不可胡亂寫]
7. 2~ 6步驟三臺機器上分別操作8.啟動#啟動三臺zookeeper
./zkServer.sh start
./zkServer.sh status #檢視zk叢集狀態
ps ‐ef|grep zookeeper #檢視zk服務狀態
以上為IPv4的搭建方法,IPv6的搭建方法還在進一步嘗試中。