centos7下安裝偽集群zookeeper

1、下載zookeeper安裝包

下載地址:http://zookeeper.apache.org/releases.html

2、創(chuàng)建存放的目錄解壓:

mkdir /usr/local/zookeeper

tar -zxvf zookeeper-3.4.11.tar.gz

3、進入zookeeper/conf/目錄下,將改目錄下的zoo_sample.cfg配置文件拷貝4份,依次為zoo.cfg? zoo1.cfg? zoo2.cfg? zoo3.cfg


4、使用vim編輯zoo1.cfg? zoo2.cfg?zoo3.cfg這三個配置文件

修改內(nèi)容如下:

# 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=/usr/local/zookeeper/zookeeper-3.4.11/server1/data

dataLogDir=/usr/local/zookeeper/zookeeper-3.4.11/server1/logs

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.1=127.0.0.1:8881:7771

server.2=127.0.0.1:8882:7772

server.3=127.0.0.1:8883:7773


配置說明

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

initLimit:這個配置項是用來配置 Zookeeper 接受客戶端(這里所說的客戶端不是用戶連接 Zookeeper 服務(wù)器的客戶端,而是 Zookeeper 服務(wù)器集群中連接到 Leader 的 Follower 服務(wù)器)初始化連接時最長能忍受多少個心跳時間間隔數(shù)。當已經(jīng)超過 10個心跳的時間(也就是 tickTime)長度后 Zookeeper 服務(wù)器還沒有收到客戶端的返回信息,那么表明這個客戶端連接失敗。總的時間長度就是 10*2000=20 秒

syncLimit:這個配置項標識 Leader 與 Follower 之間發(fā)送消息,請求和應(yīng)答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 5*2000=10秒

dataDir:顧名思義就是 Zookeeper 保存數(shù)據(jù)的目錄,默認情況下,Zookeeper 將寫數(shù)據(jù)的日志文件也保存在這個目錄里。

clientPort:這個端口就是客戶端連接 Zookeeper 服務(wù)器的端口,Zookeeper 會監(jiān)聽這個端口,接受客戶端的訪問請求。

server.A=B:C:D:其中 A 是一個數(shù)字,表示這個是第幾號服務(wù)器;B 是這個服務(wù)器的 ip 地址;C 表示的是這個服務(wù)器與集群中的 Leader 服務(wù)器交換信息的端口;D 表示的是萬一集群中的 Leader 服務(wù)器掛了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執(zhí)行選舉時服務(wù)器相互通信的端口。如果是偽集群的配置方式,由于 B 都是一樣,所以不同的 Zookeeper 實例通信端口號不能一樣,所以要給它們分配不同的端口號。


5、使用vim修改zoo2.cfg的dataDir=dataDir=/usr/local/zookeeper/zookeeper-3.4.11/server2/data

dataLogDir=/usr/local/zookeeper/zookeeper-3.4.11/server2/logs

,clientPort=2182,修改zoo3.cfg的dataDir=/usr/local/zookeeper/zookeeper-3.4.11/server3/data

dataLogDir=/usr/local/zookeeper/zookeeper-3.4.11/server3/logs

clientPort=2183。dataDir目錄開始不存在,需要手動創(chuàng)建,并在各data文件下創(chuàng)建名為myid的文件,文件內(nèi)容對應(yīng)服務(wù)器編號

/

6、啟動

進入目錄/usr/local/zookeeper/zookeeper-3.4.11/bin目錄,執(zhí)行命令:


7、聯(lián)通測試


Connecting to 127.0.0.1:21822018-04-15 11:37:12,454 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT2018-04-15 11:37:12,457 [myid:] - INFO [main:Environment@100] - Client environment:host.name=izbp1a3y9d1a133g371xe3z2018-04-15 11:37:12,458 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_1612018-04-15 11:37:12,459 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation2018-04-15 11:37:12,460 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/java/jdk1.8.0_161/jre2018-04-15 11:37:12,460 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/usr/local/zookeeper/zookeeper-3.4.11/bin/../build/classes:/usr/local/zookeeper/zookeeper-3.4.11/bin/../build/lib/*.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../lib/netty-3.10.5.Final.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../lib/audience-annotations-0.5.0.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../zookeeper-3.4.11.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../src/java/lib/*.jar:/usr/local/zookeeper/zookeeper-3.4.11/bin/../conf:2018-04-15 11:37:12,460 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib2018-04-15 11:37:12,460 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp2018-04-15 11:37:12,460 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=2018-04-15 11:37:12,460 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux

2018-04-15 11:37:12,460 [myid:] - INFO? [main:Environment@100] - Client environment:os.arch=amd64

2018-04-15 11:37:12,460 [myid:] - INFO? [main:Environment@100] - Client environment:os.version=3.10.0-693.2.2.el7.x86_64

2018-04-15 11:37:12,460 [myid:] - INFO? [main:Environment@100] - Client environment:user.name=lzb

2018-04-15 11:37:12,460 [myid:] - INFO? [main:Environment@100] - Client environment:user.home=/home/lzb

2018-04-15 11:37:12,460 [myid:] - INFO? [main:Environment@100] - Client environment:user.dir=/usr/local/zookeeper/zookeeper-3.4.11/bin

2018-04-15 11:37:12,461 [myid:] - INFO? [main:ZooKeeper@441] - Initiating client connection, connectString=127.0.0.1:2182 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@446cdf90

2018-04-15 11:37:12,500 [myid:] - INFO? [main-SendThread(127.0.0.1:2182):ClientCnxn$SendThread@1035] - Opening socket connection to server 127.0.0.1/127.0.0.1:2182. Will not attempt to authenticate using SASL (unknown error)

Welcome to ZooKeeper!

JLine support is enabled

2018-04-15 11:37:12,624 [myid:] - INFO? [main-SendThread(127.0.0.1:2182):ClientCnxn$SendThread@877] - Socket connection established to 127.0.0.1/127.0.0.1:2182, initiating session

2018-04-15 11:37:12,665 [myid:] - INFO? [main-SendThread(127.0.0.1:2182):ClientCnxn$SendThread@1302] - Session establishment complete on server 127.0.0.1/127.0.0.1:2182, sessionid = 0x20000c043e90000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null

[zk: 127.0.0.1:2182(CONNECTED) 0]

出現(xiàn)以上信息就表示成功了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容