zookeeper單機、集羣搭建(linux下適合新手的超詳細搭建步驟)

前言

1、linux操作系統發行版:CentOS release 6.9
2、zookeeper版本:zookeeper-3.4.10.tar.gz
3、zookeeper集羣是在一個服務器分3個端口搭建的
4、如果服務器的防火牆關閉了(具體怎麼看請百度),那麼正文中所涉及的防火牆相關步驟不用操作
5、正文中的雙引號發佈文章後變成了中文格式的,在複製粘貼時注意下

環境準備

語言環境

jdk1.8.0_201

安裝包

從官方網站下載zookeeper包zookeeper-3.4.10.tar.gz並放到/usr/local目錄下

zookeeper單機搭建

1、解壓安裝包
進入/usr/local執行:tar -xzvf zookeeper-3.4.10.tar.gz
2、拷貝配置文件zoo_sample.cfg
進入/usr/local/zookeeper-3.4.10/conf執行:cp zoo_sample.cfg zoo.cfg
3、啓動zookeeper
進入/usr/local/zookeeper-3.4.10/bin執行:./zkServer.sh start
在這裏插入圖片描述
4、檢查zookeeper是否啓動成功
執行:ps -ef|grep zookeeper
5、防火牆放開2181端口
進入/etc/sysconfig分別執行:
iptables -A INPUT -p tcp --dport 2181 -j ACCEPT
service iptables save
6、重啓防火牆
進入/etc/sysconfig執行:service iptables restart
7、連接zookeeper
進入/usr/local/zookeeper-3.4.10/bin執行:./zkCli.sh
在這裏插入圖片描述
8、退出zookeeper
在這裏插入圖片描述

zookeeper集羣搭建

1、複製一份zookeeper
進入/usr/local執行:cp -r zookeeper-3.4.10/ zookeeper-cluster/
2、複製得到第一個zookeeper的配置文件
進入/usr/local/zookeeper-cluster/conf執行:
mv zoo.cfg zoo2111.cfg
3、修改配置文件zoo2111.cfg
3.1、將:
dataDir=/tmp/zookeeper修改爲:dataDir=/tmp/zookeeper2111
clientPort=2181修改爲clientPort=2111
3.2、在配置文件最後加上
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
4、複製zoo2111.cfg得到另外兩個zookeeper的配置文件zoo2112.cfg、zoo2113.cfg
進入/usr/local/zookeeper-cluster/conf分別執行:
cp zoo2111.cfg zoo2112.cfg
cp zoo2111.cfg zoo2113.cfg
5、修改另外2個zookeeper的配置文件
將:
dataDir=/tmp/zookeeper2111修改爲:dataDir=/tmp/zookeeper2112、dataDir=/tmp/zookeeper2113
clientPort=2111修改爲clientPort=2112、clientPort=2113
6、標識Server ID
6.1進入/tmp分別執行:
mkdir zookeeper2111
mkdir zookeeper2112
mkdir zookeeper2113
6.2、在6.1創建的每個文件夾下創建myid 文件,寫入當前實例的server id,即1.2.3
分別進入/tmp/zookeeper2111、/tmp/zookeeper2112、/tmp/zookeeper2113分別執行:
touch myid
寫入1、2、3
7、啓動3個zookeeper實例
進入/usr/local/zookeeper-cluster/bin分別執行:
./zkServer.sh start …/conf/zoo2111.cfg
./zkServer.sh start …/conf/zoo2112.cfg
./zkServer.sh start …/conf/zoo2113.cfg
在這裏插入圖片描述
8、檢查3個zookeeper實例是否啓動成功
執行:ps -ef|grep zookeeper
9、防火牆放開2111、2112、2113端口
進入/etc/sysconfig分別執行:
iptables -A INPUT -p tcp --dport 2111 -j ACCEPT
iptables -A INPUT -p tcp --dport 2112 -j ACCEPT
iptables -A INPUT -p tcp --dport 2113 -j ACCEPT
service iptables save
10、重啓防火牆
進入/etc/sysconfig執行:service iptables restart
11、檢測集羣狀態
進入/usr/local/zookeeper-cluster/bin分別執行:
./zkServer.sh status …/conf/zoo2111.cfg
./zkServer.sh status …/conf/zoo2112.cfg
./zkServer.sh status …/conf/zoo2113.cfg
在這裏插入圖片描述