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]#

 

posted @ 2019-10-21 15:33  BeenTogether  阅读(769)  评论(0编辑  收藏  举报