事先需準備3臺服務器,確保時間同步,以下操作3臺服務器都需要配置
1、下載Zookeeper,安裝JDK
下載地址:http://archive.apache.org/dist/zookeeper/
JDK安裝省略,JDK環境變量配置:
<code>JAVA_HOME=/usr/local/jdk1.8.0_221
PATH=$PATH:$JAVA_HOME/bin
export PATH/<code>
2、上傳zookeeper-3.4.6.tar.gz到任意安裝目錄
<code>[root@zkServer1 ~]# cd /data/
[root@zkServer1 data]# pwd
/data
[root@zkServer1 data]# ls -lsa/<code>
3、解壓zookeeper到/usr/local目錄
<code># -C 表示將文件解壓到指定目錄中
[root@zkServer1 data]# tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local//<code>
4、配置環境變量
<code>[root@zkServer1 zookeeper-3.4.6]# vim ~/.bash_profile
ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6
PATH=$PATH:$ZOOKEEPER_HOME/bin
export PATH
[root@zkServer1 zookeeper-3.4.6]# source ~/.bash_profile/<code>
5、複製配置文件,並修改:
<code>[root@zkServer1 zookeeper-3.4.6]# cd conf
[root@zkServer1 conf]# ls -lsa
[root@zkServer1 conf]# cp zoo_sample.cfg zoo.cfg
[root@zkServer1 conf]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6/data
dataLogDir=/usr/local/zookeeper-3.4.6/logs
clientPort=2181
# 指定選舉端口
server.1=zkserver1:2888:3888
server.2=zkserver2:2888:3888
server.3=zkserver3:2888:3888/<code>
6、增加myid文件,zkServer1服務器的myid文件值為1;
zkServer2服務器的myid文件值為2;
zkServer3服務器的myid文件值為3;
修改/etc/hosts文件;
關閉防火牆;
<code>[root@zkServer1 conf]# mkdir -p /usr/local/zookeeper-3.4.6/data
[root@zkServer1 conf]# mkdir -p /usr/local/zookeeper-3.4.6/logs
[root@zkServer1 conf]# echo 1 > /usr/local/zookeeper-3.4.6/data/myid
[root@zkServer1 conf]# ls -lsa /usr/local/zookeeper-3.4.6/data
[root@zkServer2 conf]# mkdir -p /usr/local/zookeeper-3.4.6/data
[root@zkServer2 conf]# mkdir -p /usr/local/zookeeper-3.4.6/logs
[root@zkServer2 conf]# echo 2 > /usr/local/zookeeper-3.4.6/data/myid
[root@zkServer3 conf]# mkdir -p /usr/local/zookeeper-3.4.6/data
[root@zkServer3 conf]# mkdir -p /usr/local/zookeeper-3.4.6/logs
[root@zkServer3 conf]# echo 3 > /usr/local/zookeeper-3.4.6/data/myid
# 修改hosts文件,因zoo.cfg文件配置的是服務器名稱需要配置對應的hosts文件。
# 如果配置IP可以省略
[root@zkServer1 data]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.100 zkserver1
192.168.0.101 zkserver2
192.168.0.102 zkserver3
#關閉防火牆並禁用防火牆
[root@zkServer local]# systemctl status firewalld.service
[root@zkServer local]# systemctl stop firewalld.service
[root@zkServer local]# systemctl disable firewalld.service/<code>
7、啟動zkServer1,zkServer2,zkServer3:
<code>[root@zkServer1 bin]# ./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfgS
tarting zookeeper ... STARTED
[root@zkServer1 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
[root@zkServer1 bin]#/<code>
8、測試集群
<code># 當前zkServer2為leader模式,停止後觀察其他兩臺服務器status,然後在開啟zkServer2查看當前狀態
[root@zkserver2 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader
[root@zkserver2 bin]# ./zkServer.sh stop
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[root@zkserver2 bin]# ./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@zkserver2 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower/<code>
到此ZooKeeper集群安裝完成
閱讀更多 hnyztcl 的文章