Zookeeper單機和集群安裝

2021-10-07 23:48:15 字數 4152 閱讀 5950

目錄

單機版安裝

修改配置檔案

啟動、檢視,停止zookeeper服務

集群zk服務配置和啟動

準備多個zookeeper服務目錄

建立並配置myid檔案 

編輯zoo.cfg檔案配置zk集群資訊

按myid從小到大的順序依次啟動每個zookeeper服務

檢視集群中每個服務的角色

apache-zookeeper-3.6.1-bin.tar.gz

apache-zookeeper-3.6.1-bin.tar.gz

而不是

apache-zookeeper-3.6.1.tar.gz

,不帶bin的包需要手動mvn打包才能啟動

[root@host-192-168-48-4 apache-zookeeper-3.6.1-bin]# ls

bin conf docs lib license.txt notice.txt readme.md readme_packaging.md

1.在apache-zookeeper-3.6.1下建立乙個空目錄 data,用於儲存zk執行的資料(自己決定資料位置,配置檔案中預設是系統目錄/tmp/zookeeper)2.進入conf目錄下,把zoo_sample.cfg檔案重新命名為zoo.cfg

[root@host-192-168-48-4 apache-zookeeper-3.6.1]# cd conf/

[root@host-192-168-48-4 conf]# ls

configuration.xsl log4j.properties zoo_sample.cfg

[root@host-192-168-48-4 conf]# mv zoo_sample.cfg zoo.cfg
3..編輯zoo.cfg檔案,修改如圖位置的配置,更改資料儲存目錄(設定為剛剛建立的目錄路徑)

進入bin目錄下,可以看到可執行的指令碼

[root@host-192-168-48-4 bin]# ls

readme.txt zkcli.cmd zkenv.cmd zkserver.cmd zkserver.sh zksnapshottoolkit.sh zktxnlogtoolkit.sh

zkcleanup.sh zkcli.sh zkenv.sh zkserver-initialize.sh zksnapshottoolkit.cmd zktxnlogtoolkit.cmd

使用zkserver.sh這個指令碼後追加start引數啟動zookeeper服務

./zkserver.sh start
正常情況可以看到如下資訊,提示啟動成功了。 

[root@host-192-168-48-4 bin]# ./zkserver.sh start

zookeeper jmx enabled by default

using config: /opt/fkk/apache-zookeeper-3.6.1/bin/../conf/zoo.cfg

starting zookeeper ... started

使用zkserver.sh這個指令碼後追加status引數檢視zk啟動的狀態

[root@host-192-168-48-4 bin]# ./zkserver.sh status

zookeeper jmx enabled by default

using config: /opt/fkk/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg

client port found: 2181. client address: localhost.

mode: standalone

同樣使用zkserver.sh 後追加stop引數可以停止zk服務

[root@host-192-168-48-4 bin]# ./zkserver.sh stop

zookeeper jmx enabled by default

using config: /opt/fkk/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg

stopping zookeeper ... stopped

複製多個解壓後的資料夾,每乙個都作為乙個zk服務節點,分別建立data目錄,對配置檔案重新命名,指定資料儲存路徑目錄

[root@host-192-168-48-4 fkk]# cp -r apache-zookeeper-3.6.1-bin/ zookeeper01

[root@host-192-168-48-4 fkk]# cp -r apache-zookeeper-3.6.1-bin/ zookeeper02

[root@host-192-168-48-4 fkk]# cp -r apache-zookeeper-3.6.1-bin/ zookeeper03

[root@host-192-168-48-4 fkk]# ls

zookeeper02 zookeeper03 zookeeper01 apache-zookeeper-3.6.1-bin

在每個zk服務目錄下的資料儲存目錄(data目錄)下建立名稱為myid的檔案,編輯檔案內容,第乙個寫1,第二個寫2,依次編輯後儲存。

編輯每個zk服務目錄下的conf下的zoo.cfg檔案,在檔案末尾新增要搭建的集群的所有的服務的通訊資訊列表。

格式:

集群中有幾個zk服務節點,就要寫幾條資訊記錄,例如有三個zk服務節點那資訊列表就是三條記錄,如下

server.1=127.0.0.1:2881:3881

server.2=127.0.0.1:2882:3882

server.3=127.0.0.1:2883:3883

正常三個服務節點應該是在三颱伺服器上,這裡測試用一台伺服器,所以埠不能一樣。

也就是按剛剛建立的myid檔案中的值大小依次啟動對應的zk服務,這樣就完成了乙個集群的啟動

[root@host-192-168-48-4 fkk]# zookeeper01/bin/zkserver.sh start

zookeeper jmx enabled by default

using config: /opt/fkk/zookeeper01/bin/../conf/zoo.cfg

starting zookeeper ... started

[root@host-192-168-48-4 fkk]# zookeeper02/bin/zkserver.sh start

zookeeper jmx enabled by default

using config: /opt/fkk/zookeeper02/bin/../conf/zoo.cfg

starting zookeeper ... started

[root@host-192-168-48-4 fkk]# zookeeper03/bin/zkserver.sh start

zookeeper jmx enabled by default

using config: /opt/fkk/zookeeper03/bin/../conf/zoo.cfg

starting zookeeper ... started

使用zkserver.sh後追加status引數檢視服務的狀態,顯示的資訊裡面 mode 會標明每個服務的角色是leader還是follwer。

Zookeeper單機偽集群

mkdir p server1 server2 server3 mkdir p data datalog logs 建立乙個myid的檔案,裡面寫入乙個數字,比如我這個是server1,那麼就寫乙個1,server2對應myid檔案就寫入2,server3對應myid檔案就寫個3 複製zoo sam...

Zookeeper單機偽集群

mkdir p server1 server2 server3 mkdir p data datalog logs 建立乙個myid的檔案,裡面寫入乙個數字,比如我這個是server1,那麼就寫乙個1,server2對應myid檔案就寫入2,server3對應myid檔案就寫個3 複製zoo sam...

zookeeper單機集群配置

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