下載地址
各版本:https://www-us.apache.org/dist/zookeeper/
穩定版本:https://www-us.apache.org/dist/zookeeper/stable/
服務器下載安裝
[root@localhost /]# cd /usr/local
[root@localhost local]# wget https://www-us.apache.org/dist/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz
上面也可以下載到本地,然後用rz -y
命令從本地拷貝到服務器
解壓
[root@localhost local]# tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
配置
- 進入配置文件目錄
[root@localhost local]# cd apache-zookeeper-3.5.6-bin/conf
- 複製一份配置文件
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
- 打開文件
[root@localhost conf]# vim zoo.cfg
-
修改配置
鍵盤按insert鍵或i鍵,進入編輯模式,然後修改原來的dataDir。目錄自定定義,不要放到tmp目錄,tmp目錄的東西會被刪除。
**注意:**如果不配置dataLogDir,則默認在dataDir路徑。後期數據量大了,不便於維護,所以分開最好
dataDir=/opt/zookeeper/data dataLogDir=/opt/zookeeper/log
-
集羣配置
ip配置稱自己的機器ip。如果電腦內存比較小,zookeeper還可以設置成僞集羣。也就是全部服務器採用同一個ip,但是使用不同的端口。
server.1=192.168.135.132:2888:3888 server.2=192.168.135.133:2888:3888 server.3=192.168.135.134:2888:3888
- server.數字的1、2、3必須是唯一的,範圍在1-255之間,表示這個是第幾號服務器,*且這個標識要寫到快照目錄下面myid文件裏。host:port1:port2的第一個端口port1是
- 第一個端口是master和slave之間的通信端口,默認是2888,
- 第二個端口是leader選舉的端口,集羣剛啓動的時候選舉或者leader掛掉之後進行新的選舉的端口默認是3888
-
創建dataDir、dataLogDir目錄
[root@localhost conf]# mkdir /opt/zookeeper [root@localhost conf]# mkdir /opt/zookeeper/data [root@localhost conf]# mkdir /opt/zookeeper/log
-
添加myid
[root@localhost conf]# cd /opt/zookeeper/data [root@localhost data]# echo "1" >> myid
環境變量
[root@localhost conf]# vim /etc/profile
添加如下:
ZK_HOME=/usr/local/apache-zookeeper-3.5.6-bin
然後修改:export PATH=XXXX 後面加上
:$ZK_HOME/bin
如下圖,保存後退出(這裏怎麼保存退出,不在這裏描述了)。
重啓環境變量
[root@localhost conf]# source /etc/profile
或者
# 注意“.”號後面還有一個空格
[root@localhost conf]# . /etc/profile
集羣配置
-
以上都是192.168.135.132機器配置,現在需要在這臺服務器把它拷貝到192.168.135.133和192.168.135.134這兩臺服務器
命令如下:
scp -r /usr/local/apache-zookeeper-3.5.6-bin/ 192.168.135.133:/usr/local/apache-zookeeper-3.5.6-bin/
scp -r /opt/zookeeper/ 192.168.135.133:/opt/zookeeper/
scp -r /usr/local/apache-zookeeper-3.5.6-bin/ 192.168.135.134:/usr/local/apache-zookeeper-3.5.6-bin/
scp -r /opt/zookeeper/ 192.168.135.134:/opt/zookeeper/
-
修改192.168.135.133服務器的myid
[root@localhost conf]# cd /opt/zookeeper/data [root@localhost data]# echo "2" > myid
echo $文件名 :表示輸出文件的內容
echo"內容" > 文件名 : 表示添加“內容”到文件裏,但會覆蓋以前的內容
echo"內容" >> 文件名 : 表示追加“內容”到文件裏,只有追加到末尾
-
修改192.168.135.133服務器的myid
[root@localhost conf]# cd /opt/zookeeper/data [root@localhost data]# echo "3" > myid
啓動
-
配置環境變量後,直接在任何目錄下輸入:
[root@localhost conf]# zkServer.sh start
三臺機器都要做此操作,否則通過zkServer.sh status查看啓動狀態時 可能會有Error contacting service. It is probably not running.錯誤信息。 具體查看可以在$ZK_HOME/zookeeper.out查看詳細的日誌信息
查看狀態
[root@localhost conf]# zkServer.sh status #查看當前機器的zookeeper狀態
客戶端連接
zkCli.sh -server 192.168.135.132:2181
或者
zkCli.sh -server
查看進程
查看zookeeper進程:
ps -aux|grep 'zookeeper'
關閉zookeeper
sh zkServer.sh stop
或者zkServer.sh stop