Zookeeper3.5.7版本之集群部署過程(linux環(huán)境-centos7)
一、三臺服務(wù)器信息
三臺服務(wù)器
| 服務(wù)器名稱 | 服務(wù)器ip |
|---|---|
| centos7虛擬機1 | 192.168.136.27 |
| centos7虛擬機2 | 192.168.136.28 |
| centos7虛擬機3 | 192.168.136.29 |
二、Zookeeper3.5.7官網(wǎng)下載
2.1、官網(wǎng)下載地址
- 官網(wǎng)下載地址:https://zookeeper.apache.org/
2.2、下載步驟
- 下載步驟如下所示:




三、三臺服務(wù)器都安裝jdk11(Zookeeper需要jdk支持)
- linux環(huán)境(centos7)安裝JDK11步驟圖解參考此文章
四、Zookeeper3.5.7集群部署
4.1、centos7虛擬機1 (192.168.136.27)服務(wù)器安裝步驟
4.1.1、解壓安裝(以下所有演示操作lz都使用的root用戶)
上傳安裝包到home目錄下
[root@localhost /]# cd /home/ [root@localhost home]# ls

在opt目錄下創(chuàng)建module文件夾
[root@localhost home]# mkdir /opt/module

進(jìn)入home目錄,解壓安裝包到opt/module目錄下
[root@localhost home]# tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

進(jìn)入opt/module目錄下,修改解壓后的apache-zookeeper-3.5.7-bin名稱為zookeeper-3.5.7
[root@localhost module]# mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

4.1.2、配置服務(wù)器編號
在/opt/module/zookeeper-3.5.7/目錄下創(chuàng)建zkData文件夾,如下圖所示:
[root@localhost zookeeper-3.5.7]# mkdir zkData

在/opt/module/zookeeper-3.5.7/zkData 目錄下創(chuàng)建一個 myid 的文件,在文件中添加與 zoo.cfg配置文件中 server的編號對應(yīng),此處文件中內(nèi)容為1(注意:上下不要有空行,左右不要有空格)
注意:添加 myid 文件,一定要在 Linux 里面創(chuàng)建,在 notepad++里面很可能亂碼。
[root@localhost zkData]# touch myid [root@localhost zkData]# vi myid


4.1.3、配置zoo.cfg 文件
重命名/opt/module/zookeeper-3.5.7/conf 這個目錄下的 zoo_sample.cfg 為 zoo.cfg
[root@localhost conf]# pwd /opt/module/zookeeper-3.5.7/conf [root@localhost conf]# mv zoo_sample.cfg zoo.cfg [root@localhost conf]#

打開 zoo.cfg 文件
[root@localhost conf]# vim zoo.cfg
修改dataDir的數(shù)據(jù)存儲路徑配置,修改如下內(nèi)容:
dataDir=/opt/module/zookeeper-3.5.7/zkData

增加如下配置
#######################cluster########################## server.1=192.168.136.27:2888:3888 server.2=192.168.136.28:2888:3888 server.3=192.168.136.29:2888:3888

4.1.5、在防火墻中打開要用到的端口 2181、2888、3888,如下所示:
開啟防火墻,開放2181、2888和3888端口,并重新關(guān)閉防火墻如下圖所示。
#查看防火墻的狀態(tài)命令 systemctl status firewalld #打開防火墻的狀態(tài)命令 sudo systemctl start firewalld #開放2181、2888和3888端口 firewall-cmd --permanent --zone=public --add-port=2181/tcp firewall-cmd --permanent --zone=public --add-port=2888/tcp firewall-cmd --permanent --zone=public --add-port=3888/tcp #重新加載 firewall-cmd --reload #關(guān)閉防火墻的狀態(tài)命令 sudo systemctl stop firewalld

4.1.6、配置參數(shù)解讀
tickTime = 2000:通信心跳時間,Zookeeper服務(wù)器與客戶端心跳時間,單位毫秒

initLimit = 10 :LF 初始通信時限

syncLimit = 5 :LF 同步通信時限

dataDir :保存Zookeeper中的數(shù)據(jù)。
注意:默認(rèn)的tmp目錄,容易被Linux系統(tǒng)定期刪除,所以一般不用默認(rèn)的tmp目錄。
clientPort = 2181 :客戶端連接端口
server.A=B:C:D
- A 是一個數(shù)字,表示這個是第幾號服務(wù)器;集群模式下配置一個文件 myid,這個文件在 dataDir 目錄下,這個文件里面有一個數(shù)據(jù)就是 A 的值,Zookeeper 啟動時讀取此文件,拿到里面的數(shù)據(jù)與 zoo.cfg 里面的配置信息比較從而判斷到底是哪個 server。
- B 是這個服務(wù)器的地址;
- C 是這個服務(wù)器 Follower 與集群中的 Leader 服務(wù)器交換信息的端口;
- D 是萬一集群中的 Leader 服務(wù)器掛了,需要一個端口來重新進(jìn)行選舉,選出一個新的Leader,而這個端口就是用來執(zhí)行選舉時服務(wù)器相互通信的端口。
4.2、centos7虛擬機2 (192.168.136.28)服務(wù)器安裝步驟
4.2.1、在opt目錄下創(chuàng)建module文件夾
在opt目錄下創(chuàng)建module文件夾 與 centos7虛擬機1 (192.168.136.27)服務(wù)器中Zookeeper解壓安裝包的位置相同即可。
[root@localhost home]# mkdir /opt/module

4.2.2、拷貝配置好的 zookeeper 到centos7虛擬機2 (192.168.136.28)服務(wù)器
scp基本語法
scp -r $pdir/$fname $user@$host:$pdir/$fname 命令 遞歸 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱
在centos7虛擬機1 (192.168.136.27)服務(wù)器上 拷貝配置好的 zookeeper 到centos7虛擬機2 (192.168.136.28)服務(wù)器
[root@localhost /]# scp -r /opt/module/zookeeper-3.5.7/ root@192.168.136.28:/opt/module/

4.2.3、修改 myid 文件中內(nèi)容
修改 myid 文件中內(nèi)容為 2
[root@localhost zkData]# pwd /opt/module/zookeeper-3.5.7/zkData [root@localhost zkData]# vi myid


4.2.4、在防火墻中打開要用到的端口 2181、2888、3888,如下所示:
開啟防火墻,開放2181、2888和3888端口,并重新關(guān)閉防火墻如下圖所示。
#查看防火墻的狀態(tài)命令 systemctl status firewalld #打開防火墻的狀態(tài)命令 sudo systemctl start firewalld #開放2181、2888和3888端口 firewall-cmd --permanent --zone=public --add-port=2181/tcp firewall-cmd --permanent --zone=public --add-port=2888/tcp firewall-cmd --permanent --zone=public --add-port=3888/tcp #重新加載 firewall-cmd --reload #關(guān)閉防火墻的狀態(tài)命令 sudo systemctl stop firewalld

4.3、centos7虛擬機3 (192.168.136.29)服務(wù)器安裝步驟
4.3.1、在opt目錄下創(chuàng)建module文件夾
在opt目錄下創(chuàng)建module文件夾 與 centos7虛擬機1 (192.168.136.27)服務(wù)器中Zookeeper解壓安裝包的位置相同即可。
[root@localhost home]# mkdir /opt/module

4.3.2、拷貝配置好的 zookeeper 到centos7虛擬機3(192.168.136.29)服務(wù)器
scp基本語法
scp -r $pdir/$fname $user@$host:$pdir/$fname 命令 遞歸 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱
在centos7虛擬機1 (192.168.136.27)服務(wù)器上 拷貝配置好的 zookeeper 到centos7虛擬機3(192.168.136.29)服務(wù)器
[root@localhost /]# scp -r /opt/module/zookeeper-3.5.7/ root@192.168.136.29:/opt/module/

4.3.3、修改 myid 文件中內(nèi)容
修改 myid 文件中內(nèi)容為 3
[root@localhost zkData]# pwd /opt/module/zookeeper-3.5.7/zkData [root@localhost zkData]# vi myid

4.3.4、在防火墻中打開要用到的端口 2181、2888、3888,如下所示:
開啟防火墻,開放2181、2888和3888端口,并重新關(guān)閉防火墻如下圖所示。
#查看防火墻的狀態(tài)命令 systemctl status firewalld #打開防火墻的狀態(tài)命令 sudo systemctl start firewalld #開放2181、2888和3888端口 firewall-cmd --permanent --zone=public --add-port=2181/tcp firewall-cmd --permanent --zone=public --add-port=2888/tcp firewall-cmd --permanent --zone=public --add-port=3888/tcp #重新加載 firewall-cmd --reload #關(guān)閉防火墻的狀態(tài)命令 sudo systemctl stop firewalld

4.4、集群操作
4.4.1、分別啟動三臺服務(wù)器的 Zookeeper服務(wù)
啟動centos7虛擬機1 (192.168.136.27)服務(wù)器 的Zookeeper服務(wù)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh start

啟動centos7虛擬機2(192.168.136.28)服務(wù)器 的Zookeeper服務(wù)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh start

啟動centos7虛擬機3(192.168.136.29)服務(wù)器 的Zookeeper服務(wù)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh start

4.4.2、分別查看三臺服務(wù)器的 Zookeeper服務(wù)狀態(tài)
查看centos7虛擬機1 (192.168.136.27)服務(wù)器 的Zookeeper服務(wù)狀態(tài)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh status

查看centos7虛擬機2 (192.168.136.28)服務(wù)器 的Zookeeper服務(wù)狀態(tài)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh status

查看centos7虛擬機3 (192.168.136.29)服務(wù)器 的Zookeeper服務(wù)狀態(tài)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh status

4.4.3、分別停止三臺服務(wù)器的 Zookeeper服務(wù)
停止centos7虛擬機1 (192.168.136.27)服務(wù)器 的Zookeeper服務(wù)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh stop

停止centos7虛擬機2 (192.168.136.28)服務(wù)器 的Zookeeper服務(wù)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh stop

停止centos7虛擬機3 (192.168.136.29)服務(wù)器 的Zookeeper服務(wù)
[root@localhost zookeeper-3.5.7]# bin/zkServer.sh stop

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu 16.04安裝Apache Tomcat的方法
Apache Tomcat是Java Servlet和Java Server Pages技術(shù)的開源軟件實現(xiàn)??梢允褂肙penJDK tomcat運行你的Java應(yīng)用。Apache Tomcat安裝方法大家都不是很清楚,下面小編給大家介紹下Ubuntu 16.04安裝Apache Tomcat的方法2016-10-10
apache中使用mod_log_slow分析響應(yīng)慢的請求
這篇文章主要介紹了apache中使用mod_log_slow分析響應(yīng)慢的請求,使用mod_log_slow可以定位到響應(yīng)慢的PHP代碼位置,需要的朋友可以參考下2014-06-06
Linux使用perf工具進(jìn)行性能分析的詳細(xì)指南
perf?是?Linux?內(nèi)核自帶的一個性能分析工具,它能夠采集和分析系統(tǒng)和應(yīng)用程序的性能數(shù)據(jù),本文主要介紹了使用perf工具進(jìn)行性能分析的具體操作,需要的可以參考下2024-12-12

