ZooKeeper集群搭建

環(huán)境準備

  1. java1.6以上的軟件包
  2. zookeeper安裝包
  3. 三臺及以上的服務器(帶Linux系統(tǒng))

我的環(huán)境

名稱 版本
JDK java-1.8.0-openjdk-src.x86_64
ZooKeeper 3.7.0
CentOS 7.9

服務器信息

節(jié)點名稱 IP地址
ClusterNode1 192.168.1.1
ClusterNode2 192.168.1.2
ClusterNode3 192.168.1.3

安裝

安裝下載工具并安裝jdk

yum install wget java-1.8.0-openjdk-src.x86_64 -y
  • jdk版本可以使用yum search jdk搜索

下載ZooKeeper安裝包

wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

創(chuàng)建zookeeper目錄并解壓

mkdir -p zookeeper/{data,logs}| tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz --strip-components 1 -C zookeeper
  • 去除目錄結構加上 --strip-components N(N是目錄深度)

配置zoo.cfg

首次使用 ZooKeeper,需要將 $ZK_HOME 下的 zoo_sample.cfg 文件重命名為 zoo.cfg,并進行以下配置

dataDir=/$ZK_HOME/data    # Zookeeper服務器存儲快照文件的目錄,必須配置
dataLogDir=/$ZK_HOME/logs     # Zookeeper服務器存儲事務日志的目錄
clientPort=2181    # 服務器對外服務端口,一般設置為2181
server.x=IP1:2888:3888 
server.x=IP2:2888:3888
server.x=IP3:2888:3888
  • server.x中的x是一個數字,與myid文件中的id是一致的,一般設置成IP地址最后一位。右邊配置了兩個端口,第一個端口用于數據同步和其它通信,第二個端口用于Leader選舉過程中投票通信

創(chuàng)建myid文件

echo "x" > /$ZK_HOME/data/myid

我的zk配置文件

節(jié)點:ClusterNode1
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=/root/zookeeper/data
dataLogDir=/root/zookeeper/logs
server.1=192.168.3.1:2888:3888
server.2=192.168.3.2:2888:3888
server.3=192.168.3.3:2888:3888

節(jié)點:ClusterNode2
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=/root/zookeeper/data
dataLogDir=/root/zookeeper/logs
server.1=192.168.3.1:2888:3888
server.2=192.168.3.2:2888:3888
server.3=192.168.3.3:2888:3888

節(jié)點:ClusterNode3
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=/root/zookeeper/data
dataLogDir=/root/zookeeper/logs
server.1=192.168.3.1:2888:3888
server.2=192.168.3.2:2888:3888
server.3=192.168.3.3:2888:3888

驗證

節(jié)點:ClusterNode1
./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

節(jié)點:ClusterNode2
./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

節(jié)點:ClusterNode3
./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容