創建3臺機器的集羣,這裏沒有三臺機器,打算使用一臺機器不同端口(虛擬機)來創建。
1、在/usr/local/zookeeper-3.4.9目錄下創建三個子目錄zk1,zk2,zk3
mkdir zk1 zk2 zk3
2、在子目錄zk1,zk2,zk3下分別創建data、logs目錄
mkdir data logs
3、分別在子目錄下zk1,zk2,zk3下創建myid。
3.1、zk1:創建myid,寫入數字1,代表服務器1
echo 1 >> myid
3.2、zk2:創建myid,寫入數字2,代表服務器2
echo 2 >> myid
3.3、zk3:創建myid,寫入數字3,代表服務器3
echo 3 >> myid
4、分別copy zookeeper/conf到子目錄zk1,zk2,zk3下
cp -rf /usr/local/zookeeper/conf /usr/local/local/zookeeper-3.4.9/zk1/
cp -rf /usr/local/zookeeper/conf /usr/local/local/zookeeper-3.4.9/zk2/
cp -rf /usr/local/zookeeperconf /usr/local/local/zookeeper-3.4.9/zk3/
5、修改/usr/local/zookeeper-3.4.9的目錄名爲/usr/local/zookeeper(剛開忘記修改了)
mv zookeeper-3.4.9 zookeeper
6、修改配置文件zoo.cfg
6.1、修改/usr/local/zookeeper/conf/zk1/zoo.cfg
tickTime=2000
dataDir=/usr/local/zookeeper/zk1/data
dataLogDir= /usr/local/zookeeper/zk1/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=10.1.1.165:2888:3888
server.2=10.1.1.165:2889:3889
server.3=10.1.1.165:2890:3890
6.2、修改/usr/local/zookeeper/conf/zk2/zoo.cfg
tickTime=2000
dataDir=/usr/local/zookeeper/zk2/data
dataLogDir= /usr/local/zookeeper/zk2/logs
clientPort=2182
initLimit=5
syncLimit=2
server.1=10.1.1.165:2888:3888
server.2=10.1.1.165:2889:3889
server.3=10.1.1.165:2890:3890
6.3、修改/usr/local/zookeeper/conf/zk3/zoo.cfg
tickTime=2000
dataDir=/usr/local/zookeeper/zk3/data
dataLogDir= /usr/local/zookeeper/zk3/logs
clientPort=2183
initLimit=5
syncLimit=2
server.1=10.1.1.165:2888:3888
server.2=10.1.1.165:2889:3889
server.3=10.1.1.165:2890:3890
7、啓動
7.1、啓動zk1:./zkServer.sh start ../zk1/conf/zoo.cfg
7.2、啓動zk2:./zkServer.sh start ../zk2/conf/zoo.cfg
7.3、啓動zk3:./zkServer.sh start ../zk3/conf/zoo.cfg
8、查看服務狀態信息,沒有nc工具,使用yum -y install nc安裝
8.1、服務器1:echo stat |nc 10.1.1.165 2181
8.1、服務器2:echo stat |nc 10.1.1.165 2182
8.1、服務器3:echo stat |nc 10.1.1.165 2183
可以發現服務器3爲Leader,其他兩臺爲follower