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...