zookeeper註冊中心安裝

2021-08-09 06:25:33 字數 3253 閱讀 3603

zookeeper註冊中心安裝

#管理員執行  $非管理員執行

$ wget

2、解壓

$ tar -zxvf zookeeper-3.4.6.tar.gz

3、修改zookeeper配置檔案

# the number of milliseconds of each tick

ticktime=2000

# the number of ticks that the initial

# synchronization phase can take

initlimit=10

# the number of ticks that can pass between

# sending a request and getting an acknowledgement

synclimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

datadir=/home/wusc/zookeeper-3.4.6/data

datalogdir=/home/wusc/zookeeper-3.4.6/logs

# the port at which the clients will connect

clientport=2181

#2888,3888 are election port

server.1=edu-provider-01:2888:3888

2888 埠號是 zookeeper 服務之間通訊的埠。

3888 是 zookeeper 與其他應用程式通訊的埠。

edu-provider-01 是在 hosts 中已映** ip 的主機名。

(/etc/hosts中 192.168.3.71 edu-provider-01)

initlimit:這個配置項是用來配置 zookeeper 接受客戶端(這裡所說的客戶端不

是使用者連線 zookeeper 伺服器的客戶端,而是 zookeeper 伺服器集群中連線到

leader 的 follower 伺服器)初始化連線時最長能忍受多少個心跳時間間隔數。

當已經超過 10 個心跳的時間(也就是 ticktime)長度後 zookeeper 伺服器還沒

有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是

5*2000=10 秒。

synclimit:這個配置項標識 leader 與 follower 之間傳送訊息,請求和應答時

間長度,最長不能超過多少個 ticktime 的時間長度,總的時間長度就是 2*2000=4

秒。server.a=b:c:d:其中 a 是乙個數字,表示這個是第幾號伺服器;b 是這個服務

器的 ip 位址或/etc/hosts 檔案中映** ip 的主機名;c 表示的是這個伺服器與

集群中的 leader 伺服器交換資訊的埠;d 表示的是萬一集群中的 leader 服務

器掛了,需要乙個埠來重新進行選舉,選出乙個新的 leader,而這個埠就是

用來執行選舉時伺服器相互通訊的埠。如果是偽集群的配置方式,由於 b 都是

一樣,所以不同的 zookeeper 例項通訊埠號不能一樣,所以要給它們分配不同

的埠號

7、 在 datadir=/home/wusc/zookeeper-3.4.6/data 下建立 myid 檔案

myid檔案內容就是 1  myid的值是zoo.cfg檔案裡定義的server.a項a的值,zookeeper 啟動時會讀取這個檔案,拿到裡面的資料與 zoo.cfg 裡面的配置資訊比較從而判斷到底是那個server,只是乙個標識作用。

8、 wusc 使用者下修改 vi /home/wusc/.bash_profile,增加 zookeeper環境變數 配置:

# zookeeper env

export zookeeper_home=/home/wusc/zookeeper-3.4.6

export path=$zookeeper_home/bin:$path

使配置檔案生效

$ source /home/wusc/.bash_profile

9、 在防火牆中開啟要用到的埠 2181、2888、3888

切換到 root 使用者許可權,執行以下命令:

# chkconfig iptables on

# service iptables start

# vi /etc/sysconfig/iptables

增加以下 3 行:

-a input -m state --state new -m tcp -p tcp --dport 2181 -j accept

-a input -m state --state new -m tcp -p tcp --dport 2888 -j accept

-a input -m state --state new -m tcp -p tcp --dport 3888 -j accept

重啟防火牆:

# service iptables restart

檢視防火牆埠狀態:

# service iptables status

10、 啟動並測試 zookeeper(要用 wusc 使用者啟動,不要用 root):

(1) 使用 wusc 使用者到/home/wusc/zookeeper-3.4.6/bin 目錄中執行:

$ zkserver.sh start

(2) 輸入 jps 命令檢視程序:

$ jps

1456 quorumpeermain

1475 jps

其中,quorumpeermain 是 zookeeper 程序,啟動正常

(3) 檢視狀態:

$ zkserver.sh status

(4) 檢視 zookeeper 服務輸出資訊:

由於服務資訊輸出檔案在/home/wusc/zookeeper-3.4.6/bin/zookeeper.out

$ tail -500f zookeeper.out

11、 停止 zookeeper 程序:

$ zkserver.sh stop

12、 配置 zookeeper 開機使用 wusc 使用者啟動:

su - wusc -c '/home/wusc/zookeeper-3.4.6/bin/zkserver.sh start

註冊中心Zookeeper

註冊中心負責服務位址的註冊與查詢,相當於目錄服務,服務提供者和消費者只在啟動時與註冊中心互動,註冊中心不 請求,壓力較小。zookeeper註冊中心的作用主要是註冊和發現服務的作用,埠2181 對cline端提供服務 3888 選舉leader使用 2888 集群內機器通訊使用 leader監聽此埠...

服務註冊中心zookeeper

一 背景 場景 1 服務位址如何維護 服務啟動的時候,註冊到乙個服務中 key,服務名 value 若干個http位址 2 如何對目標服務負載均衡 從註冊服務中拿到目標服務位址列表,通過輪詢或者隨機演算法得到乙個位址 3 服務 的動態感知 目標服務可能宕機 心跳機制 註冊中心定期和客戶端心跳,如果沒...

Zookeeper註冊中心的搭建

zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,是google的chubby乙個開源的實現,是hadoop和hbase的重要元件。它是乙個為分布式應用提供一致性服務的軟體,提供的功能包括 配置維護 名字服務 分布式同步 組服務等。之所以把本文歸類為dubbo是因為,博主關於du...