ZooKeeper集群的安裝、配置和高可用測(cè)試

這篇文章主要講解了“ZooKeeper集群的安裝、配置和高可用測(cè)試 ”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“ZooKeeper集群的安裝、配置和高可用測(cè)試 ”吧!

成都創(chuàng)新互聯(lián)公司自2013年起,先為望江等服務(wù)建站,望江等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為望江企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

ZooKeeper與Dubbo服務(wù)集群架構(gòu)圖

ZooKeeper集群的安裝、配置和高可用測(cè)試

服務(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 cluster servers

192.168.1.81   edu-zk-01

192.168.1.82   edu-zk-02

192.168.1.83   edu-zk-03

  1. 下載或上傳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

  1. 解壓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

  1. 在各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

  1. 將zookeeper/node-0X/conf目錄下的zoo_sample.cfg文件拷貝一份,命名為zoo.cfg:

$ cp zoo_sample.cfg zoo.cfg

  1. 修改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ù)說(shuō)明:

tickTime=2000

tickTime這個(gè)時(shí)間是作為Zookeeper服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時(shí)間間隔,也就是每個(gè)tickTime時(shí)間就會(huì)發(fā)送一個(gè)心跳。

initLimit=10

initLimit這個(gè)配置項(xiàng)是用來(lái)配置Zookeeper接受客戶端(這里所說(shuō)的客戶端不是用戶連接Zookeeper服務(wù)器的客戶端,而是Zookeeper服務(wù)器集群中連接到Leader的Follower 服務(wù)器)初始化連接時(shí)最長(zhǎng)能忍受多少個(gè)心跳時(shí)間間隔數(shù)。當(dāng)已經(jīng)超過(guò)10個(gè)心跳的時(shí)間(也就是tickTime)長(zhǎng)度后 Zookeeper 服務(wù)器還沒(méi)有收到客戶端的返回信息,那么表明這個(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)不能超過(guò)多少個(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)聽(tīng)這個(gè)端口接受客戶端的訪問(wèn)請(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è)端口用來(lái)集群成員的信息交換,表示這個(gè)服務(wù)器與集群中的Leader服務(wù)器交換信息的端口;

D是在leader掛掉時(shí)專門用來(lái)進(jìn)行選舉leader所用的端口。

注意:如果是偽集群的配置方式,不同的 Zookeeper 實(shí)例通信端口號(hào)不能一樣,所以要給它們分配不同的端口號(hào)。

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

  1. 在防火墻中打開(kāi)要用到的端口218X、288X、388X

切換到root用戶權(quán)限,執(zhí)行以下命令:

# chkconfig iptables on

# service iptables start

編輯/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

  1. 啟動(dòng)并測(cè)試zookeeper(要用wusc用戶啟動(dòng),不要用root):

  1. 使用wusc用戶到/home/wusc/zookeeper/node-0X/bin目錄中執(zhí)行:

$ /home/wusc/zookeeper/node-01/bin/zkServer.sh start

$ /home/wusc/zookeeper/node-02/bin/zkServer.sh start

$ /home/wusc/zookeeper/node-03/bin/zkServer.sh start

  1. 輸入jps命令查看進(jìn)程:

$ jps

1456 QuorumPeerMain

其中,QuorumPeerMain是zookeeper進(jìn)程,說(shuō)明啟動(dòng)正常

  1. 查看狀態(tài):

$ /home/wusc/zookeeper/node-01/bin/zkServer.sh status

  1. 查看zookeeper服務(wù)輸出信息:

由于服務(wù)信息輸出文件在/home/wusc/zookeeper/node-0X/bin/zookeeper.out

$ tail -500f zookeeper.out

  1. 停止zookeeper進(jìn)程:

$ zkServer.sh stop

  1. 配置zookeeper開(kāi)機(jī)使用wusc用戶啟動(dòng):

編輯node-01、node-02、node-03中的/etc/rc.local文件,分別加入:

su - wusc -c '/home/wusc/zookeeper/node-01/bin/zkServer.sh start'

su - wusc -c '/home/wusc/zookeeper/node-02/bin/zkServer.sh start'

su - wusc -c '/home/wusc/zookeeper/node-03/bin/zkServer.sh start'

二、安裝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ù)沒(méi)有影響,管控臺(tái)也不需要高可用,因此可以單節(jié)點(diǎn)部署。

IP: 192.168.1.81

部署容器:Tomcat7

端口:8080

  1. 下載(或上傳)最新版的Tomcat7(apache-tomcat-7.0.57.tar.gz)到/home/wusc/

  1. 解壓:

$ tar -zxvf apache-tomcat-7.0.57.tar.gz

$ mv apache-tomcat-7.0.57 dubbo-admin-tomcat

  1. 移除/home/wusc/dubbo-admin-tomcat/webapps目錄下的所有文件:

$ rm -rf *

  1. 上傳Dubbo管理控制臺(tái)程序dubbo-admin-2.5.3.war

到/home/wusc/dubbo-admin-tomcat/webapps

  1. 解壓并把目錄命名為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

  1. 配置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)前要修改)

  1. 防火墻開(kāi)啟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

  1. 啟動(dòng)Tomat7

$ /home/wusc/dubbo-admin-tomcat/bin/startup.sh

感謝各位的閱讀,以上就是“ZooKeeper集群的安裝、配置和高可用測(cè)試 ”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)ZooKeeper集群的安裝、配置和高可用測(cè)試 這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

本文題目:ZooKeeper集群的安裝、配置和高可用測(cè)試
分享URL:http://muchs.cn/article44/jehhee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)網(wǎng)站制作Google、品牌網(wǎng)站設(shè)計(jì)全網(wǎng)營(yíng)銷推廣、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司