安裝JDK
請參考:Linux下快速安裝JDK
一、虛擬機環(huán)境準備
主機名稱 | IP |
---|---|
zookeeper1 | 192.168.200.61 |
zookeeper2 | 192.168.200.62 |
zookeeper3 | 192.168.200.63 |
- 確保三臺主機的/etc/hosts文件中都含如下信息
192.168.200.61 zookeeper1
192.168.200.62 zookeeper2
192.168.200.63 zookeeper3
二狰住、創(chuàng)建zk用戶以及準備安裝環(huán)境【3臺都執(zhí)行】
[root@zookeeper1 ~]# useradd zk
[root@zookeeper1 ~]# echo 123456 | passwd --stdin zk
[root@zookeeper1 ~]# mkdir /app
[root@zookeeper1 ~]# chown -R zk:zk /app
三张吉、安裝zk【zookeeper1上執(zhí)行】
- 切換到zk用戶
[root@zookeeper1 ~]# su - zk
3.1 解壓安裝
- 下載
[zk@zookeeper1 ~]$cd /app
[zk@zookeeper1 app]$wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz
- 解壓安裝
[zk@zookeeper1 app]$tar zxf zookeeper-3.4.12.tar.gz
[zk@zookeeper1 app]$ln -s zookeeper-3.4.12 zookeeper
3.2 配置環(huán)境變量【三臺都執(zhí)行】
[zk@zookeeper1 app]$ echo -e '##########ZK環(huán)境變量配置##########\nexport ZOOKEEPER_HOME=/app/zookeeper\nexport PATH=$ZOOKEEPER_HOME/bin:$PATH' >> /home/zk/.bash_profile
[zk@zookeeper1 app]$ source /home/zk/.bash_profile
[zk@zookeeper1 app]$ tail -3 /home/zk/.bash_profile
3.3 拷貝并配置zoo.cfg
- 拷貝
[zk@zookeeper1 app]$ cp /app/zookeeper/conf/zoo_sample.cfg /app/zookeeper/conf/zoo.cfg
- 配置dataDir
[zk@zookeeper1 app]$ mkdir /app/zkDataDir
[zk@zookeeper1 app]$ sed -i 's#dataDir=/tmp/zookeeper#dataDir=/app/zkDataDir#g' /app/zookeeper/conf/zoo.cfg
[zk@zookeeper1 app]$ grep '/app/zkDataDir' /app/zookeeper/conf/zoo.cfg
- 設(shè)置集群間主機通信配置
[zk@zookeeper1 app]$ echo -e 'server.1 = zookeeper1:2888:3888\nserver.2 = zookeeper2:2888:3888\nserver.3 = zookeeper3:2888:3888' >>/app/zookeeper/conf/zoo.cfg
[zk@zookeeper1 app]$ tail -3 /app/zookeeper/conf/zoo.cfg
- 查看配置
[zk@zookeeper1 app]$ grep ^[a-z] /app/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/app/zkDataDir
clientPort=2181
server.1 = zookeeper1:2888:3888
server.2 = zookeeper2:2888:3888
server.3 = zookeeper3:2888:3888
四、分發(fā)安裝文件
在zookeeper1上執(zhí)行催植,將安裝文件分發(fā)到zookeeper2肮蛹、zookeeper3主機上
- 查看
[zk@zookeeper1 app]$ ll /app
total 8
drwxrwxr-x 2 zk zk 4096 Nov 30 15:53 zkDataDir
lrwxrwxrwx 1 zk zk 16 Nov 30 15:40 zookeeper -> zookeeper-3.4.12
drwxr-xr-x 10 zk zk 4096 Mar 27 2018 zookeeper-3.4.12
- 使用rsync分發(fā)以z開頭的文件夾
[zk@zookeeper1 app]$ rsync -lr z* zk@zookeeper2:/app
[zk@zookeeper1 app]$ rsync -lr z* zk@zookeeper3:/app
五、配置zookeeper在集群中的id
- 分別在zookeeper1查邢、zookeeper2蔗崎、zookeeper3中創(chuàng)建myid文件
[zk@zookeeper1 app]$ echo '1'>/app/zkDataDir/myid
[zk@zookeeper2 app]$ echo '2'>/app/zkDataDir/myid
[zk@zookeeper3 app]$ echo '3'>/app/zkDataDir/myid
六、啟動集群
- 啟動【三臺都執(zhí)行】
[zk@zookeeper1 ~]$ zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
- 查看狀態(tài)【三臺都執(zhí)行】
[zk@zookeeper1 ~]$ zkServer.sh status
...
Mode: follower
[zk@zookeeper2 ~]$ zkServer.sh status
...
Mode: follower
[zk@zookeeper3 ~]$ zkServer.sh status
...
Mode: leader