啟動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
server.x中的x是指伺服器的數字代號,在伺服器啟動的時候會去datadir(這裡是/var/zookeeper)目錄查詢myid檔案,myid檔案裡就儲存這個代號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
關於集群定義裡汲及到兩個埠: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 ~],這個server-1可以在/etc/hostname中修改[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
zkcli.sh
server-1
server-2[zk: localhost:2181(connected) 0] ls /
[zookeeper]
server-3[zk: localhost:2181(connected) 0] ls /
[zookeeper]
[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]
server-2,server-3上都能檢視到server-1建立的節點,證實了zookeeper集群執行成功[zk: localhost:2181(connected) 1] ls /
[massive, 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...