centos7下安裝zookeeper&zookeeper集群的搭建


一、centos7下安裝zookeeper

1.zookeeper 下載地址

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

2.安裝步驟

前提:安裝 jdk 和 JAVA_HOME

第一步:解壓縮 zookeeper 安裝包

[root@VM_0_11_centos ~]# mkdir zookeeper
[root@VM_0_11_centos ~]# tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz -C zookeeper/

第二步:進入 zookeeper/apache-zookeeper-3.5.5-bin/conf 目錄,修改配置文件把zoo_sample.cfg改名為zoo.cfg 

 
         
[root@VM_0_11_centos conf]# cp zoo_sample.cfg zoo.cfg

第三步:創建數據文件目錄 

[root@VM_0_11_centos zookeeper]# mkdir datadir
[root@VM_0_11_centos zookeeper]# ls
apache-zookeeper-3.5.5-bin  datadir
[root@VM_0_11_centos zookeeper]# cd datadir/
[root@VM_0_11_centos datadir]# pwd
/root/zookeeper/datadir

第四步:修改 zoo.cfg 文件

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zookeeper/datadir
clientPort=2181

保存退出

3.啟動

[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# ls
bin   docs  LICENSE.txt  README.md
conf  lib   NOTICE.txt   README_packaging.txt
[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# 

在運行完第一條指令之后,會出現一些錯誤異常,產生異常信息的原因是由於Zookeeper 服務的每個實例都擁有全局配置信息,他們在啟動的時候會隨時隨地的進行Leader選舉操作。此時,第一個啟動的Zookeeper需要和另外兩個 Zookeeper實例進行通信。但是,另外兩個Zookeeper實例還沒有啟動起來,因此就產生了這的異樣信息。我們直接將其忽略即可,待把圖中“2 號”和“3號”Zookeeper實例啟動起來之后,相應的異常信息自然會消失。

[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# bin/zkServer.sh status conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

 

4.查看進程狀態

[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# jps
9958 Jps
9710 QuorumPeerMain
[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# 

5.啟動客戶端

[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# bin/zkCli.sh

二、zookeeper 集群的搭建

前言:本次集群是在一台服務器上搭建的在,一台機器上部署了3個 server,需要注意的是在集群為分布式模式下我們使用的每個配置文檔模擬一台機器,也就是說單台機器及上運行多個 Zookeeper 實例。但是,必須保證每個配置文檔的各個端口號不能沖突,除了 clientPort 不同之外,dataDir 也不同。另外,還要在 dataDir 所對應的目錄中創建 myid 文件來指定對應的 Zookeeper 服務器實例。

1.創建必要目錄與文件

Zookeeper集群中,每一個節點都需創建data目錄、dataLog目錄以及myid文件。

1).先創建節點文件

[root@VM_0_11_centos zookeeper]# mkdir server1
[root@VM_0_11_centos zookeeper]# mkdir server2
[root@VM_0_11_centos zookeeper]# mkdir server3

2).創建每個節點所必須的data目錄、dataLog目錄以及myid文件

[root@VM_0_11_centos zookeeper]# cd server1
[root@VM_0_11_centos server1]# mkdir data
[root@VM_0_11_centos server1]# pwd
/root/zookeeper/server1
[root@VM_0_11_centos server1]# mkdir dataLog
[root@VM_0_11_centos server1]# pwd
/root/zookeeper/server1
[root@VM_0_11_centos server1]# cd data
[root@VM_0_11_centos data]# echo 1 > myid
[root@VM_0_11_centos data]# ls
myid
[root@VM_0_11_centos data]# 

其他的節點文件和這個類似,只是 server1 的 myid 文件里面是1 ,而 server2 的 myid 文件里面是2,而 server3 的 myid 文件里面是3。其值為后續zoo.cfg中配置的第幾號服務器。

2.修改 zoo.cfg 文件

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zookeeper/server1/data
dataLogDir=/root/zookeeper/server1/dataLog
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

3.創建 zoo2.cfg 和 zoo3.cfg 文件

[root@VM_0_11_centos conf]# ls
configuration.xsl  zoo.cfg
log4j.properties   zoo_sample.cfg
[root@VM_0_11_centos conf]# cp zoo.cfg zoo2.cfg
[root@VM_0_11_centos conf]# cp zoo.cfg zoo3.cfg
[root@VM_0_11_centos conf]# ls
configuration.xsl  zoo2.cfg  zoo.cfg
log4j.properties   zoo3.cfg  zoo_sample.cfg
[root@VM_0_11_centos conf]# 

4.根據第三步修改 zoo2.cfg 和 zoo3.cfg 配置文件

clientPort=2182
dataDir=/root/zookeeper/server2/data
dataLogDir=/root/zookeeper/server2/dataLog
clientPort=2183
dataDir=/root/zookeeper/server3/data dataLogDir=/root/zookeeper/server3/dataLog

5.啟動服務

[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# bin/zkServer.sh start conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo.cfg
Starting zookeeper ... FAILED TO START
[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# bin/zkServer.sh start conf/zoo2.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo2.cfg
Starting zookeeper ... FAILED TO START
[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# bin/zkServer.sh start conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo3.cfg
Starting zookeeper ... FAILED TO START
[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# 

6.查看服務的狀態

[root@VM_0_11_centos apache-zookeeper-3.5.5-bin]# bin/zkServer.sh status conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo3.cfg
Client port found: 2183. Client address: localhost.
Mode: follower
[root@VM_0_11_centos apache
-zookeeper-3.5.5-bin]# bin/zkServer.sh status conf/zoo.cfg ZooKeeper JMX enabled by default Using config: conf/zoo.cfg Client port found: 2181. Client address: localhost. Mode: follower
[root@VM_0_11_centos apache
-zookeeper-3.5.5-bin]# bin/zkServer.sh status conf/zoo2.cfg ZooKeeper JMX enabled by default Using config: conf/zoo2.cfg Client port found: 2182. Client address: localhost. Mode: leader //2號節點是 leader 節點 [root@VM_0_11_centos apache-zookeeper-3.5.5-bin]#

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM