Zookeeper集群配置

2021-07-25 08:24:16 字數 3543 閱讀 3715

啟動zookeeper的單機模式是非常簡單的,它在用作開發、測試和評估時間很方便。然而在生產環境下,為了保障服務的高可用性應該要使用集群模式。

有關zookeeper的簡介和單機模式示例請參考:

zookeeper簡介和入門示例

在集群模式下,所有配置檔案和單機相比是基本相同的,只有一點細微的差別。

os: centos 7

zookeeper: 3.4.9

server-1: 192.168.1.106

server-2: 192.168.1.107

server-3: 192.168.1.108

ticktime=2000

datadir=/var/zookeeper

clientport=2181

initlimit=10

synclimit=5

# 集群定義

server.1=0.0.0.0:2888:3888

server.2=192.168.1.107:2888:3888

server.3=192.168.1.108:2888:3888

server.x中的x是指伺服器的數字代號,在伺服器啟動的時候會去datadir(這裡是/var/zookeeper)目錄查詢myid檔案,myid檔案裡就儲存這個代號

關於集群定義裡汲及到兩個埠:2888和3888

第乙個通訊埠2888是伺服器之間通訊使用的,第二個埠3888是選舉新leader使用的。

ticktime=2000

datadir=/var/zookeeper

clientport=2181

initlimit=10

synclimit=5

server.1=192.168.1.106:2888:3888

server.2=0.0.0.0:2888:3888

server.3=192.168.1.108:2888:3888

ticktime=2000

datadir=/var/zookeeper

clientport=2181

initlimit=10

synclimit=5

server.1=192.168.1.106:2888:3888

server.2=192.168.1.107:2888:3888

server.3=0.0.0.0:2888:3888

touch /var/zookeeper/myid

vi /var/zookeeper/myid

裡面填的是當前伺服器的數字

第一台為配置檔案填的server.1的1,第二台為2,依至類推

firewall

-cmd--

zone=public--

add-

port=2181/tcp--

permanent

firewall

-cmd--

zone=public--

add-

port=2888/tcp--

permanent

firewall

-cmd--

zone=public--

add-

port=3888/tcp--

permanent

systemctl

restart

firewalld

.service

-a input -m state --state new

-m tcp -p tcp --dport 2183

-j accept

-a input -m state --state new

-m tcp -p tcp --dport 2883

-j accept

-a input -m state --state new

-m tcp -p tcp --dport 3883

-j accept

service iptables restart

zkserver.sh start

[root@server-1 ~]# zkserver.sh status

zookeeper jmx enabled by

default

using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

mode: leader

[root@server-2 ~]# zkserver.sh status

zookeeper jmx enabled by

default

using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

mode: follower

[root@server-3 ~]# zkserver.sh status

zookeeper jmx enabled by

default

using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

mode: follower

注:控制台輸出[root@server-1 ~],這個server-1可以在/etc/hostname中修改

zkcli.sh
server-1

[zk: localhost:2181(connected) 0] ls /

[zookeeper]

server-2

[zk: localhost:2181(connected) 0] ls /

[zookeeper]

server-3

[zk: localhost:2181(connected) 0] ls /

[zookeeper]

[zk: localhost:2181(connected) 1] create /massive this_is_cluster

created /massive

[zk: localhost:2181(connected) 2] ls /

[massive, zookeeper]

[zk: localhost:2181(connected) 3]

[zk: localhost:2181(connected) 1] ls /

[massive, zookeeper]

[zk: localhost:2181(connected) 1] ls /

[massive, zookeeper]

server-2,server-3上都能檢視到server-1建立的節點,證實了zookeeper集群執行成功

Zookeeper集群配置

目的 集群可以保證zookeeper服務高可用性 準備 我在本地啟動了三颱虛擬機器,ip1 192.168.1.102 ip2 192.168.1.104 ip3 192.168.1.110,並且在上面準備好zookeeper環境 需要安裝jdk 並安裝好zookeeper。步驟一 conf目錄下,...

zookeeper單機集群配置

zookeeper集群配置 一 拷貝複製拷貝到多目錄 z1 z2 z3 二 配置 zoo.cfg z1 配置 ticktime 2000 initlimit 10 synclimit 5 datadir zoo tmp zookeeper data1 datalogdir zoo log zooke...

zookeeper集群 Zookeeper集群搭建

zookeeper有兩種執行模式 單機模式和集群模式。因為單機模式只是在開發測試時使用,所以這裡就不介紹單機模式的搭建。注意 因為zookeeper遵循半數原則,所以集群節點個數最好是奇數。ip位址 系統環境 192.168.0.10 centos7 jdk8 192.168.0.11 centos...