ZooKeeper單伺服器配置偽集群

2021-09-24 10:42:14 字數 4259 閱讀 9327

1、建立 /usr/local/services/zookeeper 資料夾:

mkdir -p /usr/local/services/zookeeper

2、進入到 /usr/local/services/zookeeper 目錄中:

cd /usr/local/services/zookeeper

wget

4、解壓縮 zookeeper-3.4.14.tar.gz:

tar -zxvf zookeeper-3.4.14.tar.gz

5、新增環境變數:

vim /etc/profile

新增如下內容:

export zookeeper_home=/usr/local/zookeeper/zookeeper-3.4.14

export path=.:$path:$zookeeper_home/bin

配置檔案生效:

source /etc/profile

6、修改zookeeper配置檔案:

a.因為這裡是在單伺服器上面搭建zookeeper偽集群,所以需要分別在zookeeper路徑(/usr/local/zookeeper)新建三個目錄:        server1 、server2 、server2。用於儲存每個zookeeper節點的配置檔案和資料

[root@localhost local]# cd /usr/local/zookeeper/

[root@localhost zookeeper]# mkdir server1 server2 server3

目錄結構:

b.然後在每個server目錄裡面分別新建目錄:data、datalog

[root@localhost zookeeper]# cd /usr/local/zookeeper/server1/

[root@localhost server1]# mkdir data datalog

[root@localhost zookeeper]# cd /usr/local/zookeeper/server2/

[root@localhost server2]# mkdir data datalog

[root@localhost zookeeper]# cd /usr/local/zookeeper/server3/

[root@localhost server3]# mkdir data datalog

c.在每個節點的data目錄裡面分別寫節點序號

[root@localhost zookeeper]# echo '1' > /usr/local/zookeeper/server1/data/myid

[root@localhost zookeeper]# echo '2' > /usr/local/zookeeper/server2/data/myid

[root@localhost zookeeper]# echo '3' > /usr/local/zookeeper/server3/data/myid

d.每個節點分別編輯配置檔案zoo.cfg

[root@localhost server1]# vim /usr/local/zookeeper/server1/zoo.cfg

其內容如下:

#server1

ticktime=2000

initlimit=5

synclimit=2

datadir=/usr/local/zookeeper/server1/data

datalogdir=/usr/local/zookeeper/server1/datalog

clientport=2100

server.1=localhost:2200:2300

server.2=localhost:2201:2301

server.3=localhost:2202:2302

[root@localhost server2]# vim /usr/local/zookeeper/server2/zoo.cfg

其內容如下:

#server2

ticktime=2000

initlimit=5

synclimit=2

datadir=/usr/local/zookeeper/server2/data

datalogdir=/usr/local/zookeeper/server2/datalog

clientport=2101

server.1=localhost:2200:2300

server.2=localhost:2201:2301

server.3=localhost:2202:2302

[root@localhost server3]# vim /usr/local/zookeeper/server3/zoo.cfg

其內容如下:

#server3

ticktime=2000

initlimit=5

synclimit=2

datadir=/usr/local/zookeeper/server3/data

datalogdir=/usr/local/zookeeper/server3/datalog

clientport=2102

server.1=localhost:2200:2300

server.2=localhost:2201:2301

server.3=localhost:2202:2302

注意事項:

每個節點的datadir和datalogdir都需要配置成不一樣,不然會提示此zookeeper節點已啟動

每個節點的 clientport 也需要配置成不一樣,這是客戶端連線埠,每個zookeeper節點不能衝突

埠2200和埠2300分別為各個節點的連線埠和選舉埠,如果是在單個伺服器上面搭建偽集群,則需要配置成不同的埠,不然啟動時會爆埠已被占用的錯誤

7、啟動:

[root@localhost zookeeper]# cd /usr/local/zookeeper/zookeeper-3.4.14/bin

分別啟動三個節點:

[root@localhost bin]# ./zkserver.sh start /usr/local/zookeeper/server1/zoo.cfg

[root@localhost bin]# ./zkserver.sh start /usr/local/zookeeper/server2/zoo.cfg

[root@localhost bin]# ./zkserver.sh start /usr/local/zookeeper/server3/zoo.cfg

如果出現這種情況:

a.檢查zoo.cfg,myid 檔案是否有問題

b.檢查埠衝突

c.關閉防火牆試試

d.切換root許可權再試試

8、檢查集群狀態:

[root@localhost bin]# ./zkserver.sh status /usr/local/zookeeper/server1/zoo.cfg

zookeeper jmx enabled by default

using config: /usr/local/zookeeper/server1/zoo.cfg

mode: follower

[root@localhost bin]# ./zkserver.sh status /usr/local/zookeeper/server2/zoo.cfg

zookeeper jmx enabled by default

using config: /usr/local/zookeeper/server2/zoo.cfg

mode: follower

[root@localhost bin]# ./zkserver.sh status /usr/local/zookeeper/server3/zoo.cfg

zookeeper jmx enabled by default

using config: /usr/local/zookeeper/server3/zoo.cfg

mode: leader

最後,配置成功。

zooKeeper伺服器角色

zookeeper伺服器角色 leader 事務請求的唯一排程和處理者,保證集群事務處理的順序性 集群內部各伺服器的排程者 follower 處理客戶端非事務請求,事務請求給leader伺服器 參與事務請求proposal的投票 參與leader選舉投票 observer 處理客戶端非事務請求,事務...

mysql伺服器配置單 mysql伺服器配置

net stop mysql net start mysql 第二招 登陸mysql 語法如下 mysql u使用者名稱 p使用者密碼 mysql的提示符是 mysql 注意,如果是連線到另外的機器上,則需要加入乙個引數 h機器ip 第三招 增加新使用者 格式 grant 許可權 on 資料庫.to...

linux 軟體伺服器配置單

網上參考 方案一 網上 5000 cpu amd fx 8120 1175 主機板 華碩m5a99x evo 1399 記憶體 金士頓ddr3 1600 8g駭客神條套裝 2 16g 340 2 硬碟 希捷2tb 64m sata3 1179 機箱 酷冷至尊 毀滅者 269 電源 安鈦克vp550p...