Zk是一個(gè)分布式服務(wù)框架,提供了協(xié)調(diào)分布式應(yīng)用的基本服務(wù),zk集群主要是保證服務(wù)的可靠性和穩(wěn)定性,介紹一下集群的安裝與配置,在安裝之前需要安裝好jdk,jdk的安裝請(qǐng)網(wǎng)上查找相應(yīng)的方法
十多年的錦屏網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整錦屏建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“錦屏網(wǎng)站設(shè)計(jì)”,“錦屏網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。Dubbo注冊(cè)中心集群Zookeeper-3.4.6
Dubbo建議使用Zookeeper作為服務(wù)的注冊(cè)中心。
Zookeeper集群中只要有過半的節(jié)點(diǎn)是正常的情況下,那么整個(gè)集群對(duì)外就是可用的。正是基于這個(gè)特性,要將ZK集群的節(jié)點(diǎn)數(shù)量要為奇數(shù)(2n+1:如3、5、7個(gè)節(jié)點(diǎn))較為合適。
ZooKeeper與Dubbo服務(wù)集群架構(gòu)圖
服務(wù)器1:192.168.1.81 端口:2181、2881、3881
服務(wù)器2:192.168.1.82 端口:2182、2882、3882
服務(wù)器3:192.168.1.83 端口:2183、2883、3883
1、修改操作系統(tǒng)的/etc/hosts文件,添加IP與主機(jī)名映射:
# zookeeper clusterservers
192.168.1.81edu-zk-01
192.168.1.82edu-zk-02
192.168.1.83edu-zk-03
2、下載或上傳zookeeper-3.4.6.tar.gz到/home/wusc/zookeeper目錄:
$cd /home/wusc/zookeeper
$wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
3、解壓zookeeper安裝包,并按節(jié)點(diǎn)號(hào)對(duì)zookeeper目錄重命名:
$tar -zxvf zookeeper-3.4.6.tar.gz
服務(wù)器1:
$mv zookeeper-3.4.6 node-01
服務(wù)器2:
$mv zookeeper-3.4.6 node-02
服務(wù)器3:
$mv zookeeper-3.4.6 node-03
4、在各zookeeper節(jié)點(diǎn)目錄下創(chuàng)建以下目錄:
$cd /home/wusc/zookeeper/node-0X (X代表節(jié)點(diǎn)號(hào)1、2、3,以下同解)
$mkdir data
$mkdir logs
5、將zookeeper/node-0X/conf目錄下的zoo_sample.cfg文件拷貝一份,命名為zoo.cfg:
$cp zoo_sample.cfg zoo.cfg
6、修改zoo.cfg配置文件:
zookeeper/node-01的配置(/home/wusc/zookeeper/node-01/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-01/data
dataLogDir=/home/wusc/zookeeper/node-01/logs
clientPort=2181
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
zookeeper/node-02的配置(/home/wusc/zookeeper/node-02/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-02/data
dataLogDir=/home/wusc/zookeeper/node-02/logs
clientPort=2182
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
zookeeper/node-03的配置(/home/wusc/zookeeper/node-03/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-03/data
dataLogDir=/home/wusc/zookeeper/node-03/logs
clientPort=2183
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
參數(shù)說明:
tickTime=2000
tickTime這個(gè)時(shí)間是作為Zookeeper服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時(shí)間間隔,也就是每個(gè)tickTime時(shí)間就會(huì)發(fā)送一個(gè)心跳。
initLimit=10
initLimit這個(gè)配置項(xiàng)是用來配置Zookeeper接受客戶端(這里所說的客戶端不是用戶連接Zookeeper服務(wù)器的客戶端,而是Zookeeper服務(wù)器集群中連接到Leader的Follower 服務(wù)器)初始化連接時(shí)最長(zhǎng)能忍受多少個(gè)心跳時(shí)間間隔數(shù)。當(dāng)已經(jīng)超過10個(gè)心跳的時(shí)間(也就是tickTime)長(zhǎng)度后 Zookeeper 服務(wù)器還沒有收到客戶端的返回信息,那么表明這個(gè)客戶端連接失敗??偟臅r(shí)間長(zhǎng)度就是 10*2000=20 秒。
syncLimit=5
syncLimit這個(gè)配置項(xiàng)標(biāo)識(shí)Leader與Follower之間發(fā)送消息,請(qǐng)求和應(yīng)答時(shí)間長(zhǎng)度,最長(zhǎng)不能超過多少個(gè)tickTime的時(shí)間長(zhǎng)度,總的時(shí)間長(zhǎng)度就是5*2000=10秒。
dataDir=/home/wusc/zookeeper/node-01/data
dataDir顧名思義就是Zookeeper保存數(shù)據(jù)的目錄,默認(rèn)情況下Zookeeper將寫數(shù)據(jù)的日志文件也保存在這個(gè)目錄里。
clientPort=2181
clientPort這個(gè)端口就是客戶端(應(yīng)用程序)連接Zookeeper服務(wù)器的端口,Zookeeper會(huì)監(jiān)聽這個(gè)端口接受客戶端的訪問請(qǐng)求。
server.A=B:C:D
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
A是一個(gè)數(shù)字,表示這個(gè)是第幾號(hào)服務(wù)器;
B是這個(gè)服務(wù)器的IP地址(或者是與IP地址做了映射的主機(jī)名);
C第一個(gè)端口用來集群成員的信息交換,表示這個(gè)服務(wù)器與集群中的Leader服務(wù)器交換信息的端口;
D是在leader掛掉時(shí)專門用來進(jìn)行選舉leader所用的端口。
注意:如果是偽集群的配置方式,不同的 Zookeeper 實(shí)例通信端口號(hào)不能一樣,所以要給它們分配不同的端口號(hào)。
7、在dataDir=/home/wusc/zookeeper/node-0X/data下創(chuàng)建myid文件
編輯myid文件,并在對(duì)應(yīng)的IP的機(jī)器上輸入對(duì)應(yīng)的編號(hào)。如在node-01上,myid文件內(nèi)容就是1,node-02上就是2,node-03上就是3:
$vi /home/wusc/zookeeper/node-01/data/myid##值為1
$vi /home/wusc/zookeeper/node-02/data/myid##值為2
$vi /home/wusc/zookeeper/node-03/data/myid##值為3
8、在防火墻中打開要用到的端口218X、288X、388X
切換到root用戶權(quán)限,執(zhí)行以下命令:
#chkconfigiptables on
#service iptablesstart
編輯/etc/sysconfig/iptables
#vi/etc/sysconfig/iptables
如服務(wù)器01增加以下3行:
## zookeeper
-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 2881 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 3881 -j ACCEPT
重啟防火墻:
#service iptables restart
查看防火墻端口狀態(tài):
#service iptables status
9、啟動(dòng)并測(cè)試zookeeper(要用wusc用戶啟動(dòng),不要用root):
(1)使用wusc用戶到/home/wusc/zookeeper/node-0X/bin目錄中執(zhí)行:
$/home/wusc/zookeeper/node-01/bin/zkServer.shstart
$/home/wusc/zookeeper/node-02/bin/zkServer.shstart
$/home/wusc/zookeeper/node-03/bin/zkServer.shstart
(2)輸入jps命令查看進(jìn)程:
$jps
1456QuorumPeerMain
其中,QuorumPeerMain是zookeeper進(jìn)程,說明啟動(dòng)正常
(3)查看狀態(tài):
$/home/wusc/zookeeper/node-01/bin/zkServer.shstatus
(4)查看zookeeper服務(wù)輸出信息:
由于服務(wù)信息輸出文件在/home/wusc/zookeeper/node-0X/bin/zookeeper.out
$tail-500f zookeeper.out
10、停止zookeeper進(jìn)程:
$zkServer.sh stop
11、配置zookeeper開機(jī)使用wusc用戶啟動(dòng):
編輯node-01、node-02、node-03中的/etc/rc.local文件,分別加入:
su - wusc -c \'/home/wusc/zookeeper/node-01/bin/zkServer.shstart\'
su - wusc -c \'/home/wusc/zookeeper/node-02/bin/zkServer.shstart\'
su - wusc -c \'/home/wusc/zookeeper/node-03/bin/zkServer.shstart\'
二、安裝Dubbo管控臺(tái)(基礎(chǔ)篇有講,此處重點(diǎn)講管控臺(tái)如何鏈接集群):
Dubbo管控臺(tái)可以對(duì)注冊(cè)到zookeeper注冊(cè)中心的服務(wù)或服務(wù)消費(fèi)者進(jìn)行管理,但管控臺(tái)是否正常對(duì)Dubbo服務(wù)沒有影響,管控臺(tái)也不需要高可用,因此可以單節(jié)點(diǎn)部署。
IP:192.168.1.81
部署容器:Tomcat7
端口:8080
1、下載(或上傳)最新版的Tomcat7(apache-tomcat-7.0.57.tar.gz)到/home/wusc/
2、解壓:
$tar -zxvf apache-tomcat-7.0.57.tar.gz
$mv apache-tomcat-7.0.57dubbo-admin-tomcat
3、移除/home/wusc/dubbo-admin-tomcat/webapps目錄下的所有文件:
$rm -rf *
4、上傳Dubbo管理控制臺(tái)程序dubbo-admin-2.5.3.war
到/home/wusc/dubbo-admin-tomcat/webapps
5、解壓并把目錄命名為ROOT:
$unzip dubbo-admin-2.5.3.war -d ROOT
把dubbo-admin-2.5.3.war移到/home/wusc/tools目錄備份
$mv dubbo-admin-2.5.3.war/home/wusc/tools
6、配置dubbo.properties:
$vi ROOT/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://192.168.1.81:2181?backup=192.168.1.82:2182,192.168.1.83:2183
dubbo.admin.root.password=wusc.123
dubbo.admin.guest.password=wusc.123
(以上密碼在正式上生產(chǎn)前要修改)
7、防火墻開啟8080端口,用root用戶修改/etc/sysconfig/iptables,
#vi /etc/sysconfig/iptables
增加:
## dubbo-admin-tomcat:8080
-A INPUT -m state --state NEW -m tcp -p tcp--dport 8080 -j ACCEPT
重啟防火墻:
#service iptables restart
8、啟動(dòng)Tomat7
$/home/wusc/dubbo-admin-tomcat/bin/startup.sh
9、瀏覽http://192.168.1.81:8080/
10、配置部署了Dubbo管控臺(tái)的Tomcat開機(jī)啟動(dòng):
在虛擬主機(jī)中編輯/etc/rc.local文件,加入:
su - wusc -c\'/home/wusc/dubbo-admin-tomcat/bin/startup.sh\'
11、應(yīng)用鏈接到注冊(cè)中心群集的測(cè)試。(請(qǐng)看視頻)
12、注冊(cè)中心高可用集群的測(cè)試。(請(qǐng)看視頻)
網(wǎng)站名稱:Zookeeper分布式集群安裝與配置(CentOS6)
文章分享:http://www.rwnh.cn/article48/cpeiep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、品牌網(wǎng)站建設(shè)、軟件開發(fā)、網(wǎng)站導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)