zk 采用投票选举机制,配置集群的个数以奇数个数进行配置,以达到zookeeper 高可用状态

 

1.解压zookeeper 并复制三份

//解压
tar -zxvf zookeeper-3.4.10.tar.gz 

//重命名
 mv zookeeper-3.4.10 zk
//复制三份到自己定义的目录
cp -r zk /usr/local/zkcluster/zk01 cp -r zk /usr/local/zkcluster/zk02 cp -r zk /usr/local/zkcluster/zk03

2.为每一个zk创建data 目录 ,并且data目录下设置myid 的文件,myid 文件中填写自己定义的编号,集群中唯一的整数zhid

//进入目录下
cd /usr/local/zkcluster/zk01
//创建data 目录,进行存放日志
mkdir data
//在data目录下设置myid 的文件,myid 文件中填写自己定义的编号,我这里设置为1
echo 1 >data/myid
//进入目录下
cd /usr/local/zkcluster/zk02
 //创建data 目录,进行存放日志
mkdir data
//在data目录下设置myid 的文件,myid 文件中填写自己定义的编号,我这里设置为2
echo 2 >data/myid
//进入目录下
cd /usr/local/zkcluster/zk03
 //创建data 目录,进行存放日志
mkdir data
//在data目录下设置myid 的文件,myid 文件中填写自己定义的编号,我这里设置为3
echo 3 >data/myid

创建目录展示如图

myid 里为自己设置的序号

 

 3.分别进入zk 目录下的conf 目录下,与单机版一样,需要修改配置文件

cd conf

cp zoo_sample.cfg zoo.cfg

4.vim zoo.cfg---其中需要修改的是红色部分的

  (1).data r日志目录,修改修改成改台zk的data目录

  (2).修改端口,必修保证每台zk 端口不重复

  (3).新增server ,集群有多少个zk 就配置多少个,对应ip 与端口。端口必须不一样,端口是zk 之间内部通讯的

# 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/zkcluster/zk01/data
# 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=192.168.241.129:2881:3881
server.2=192.168.241.129:2882:3882
server.3=192.168.241.129:2883:3883

 

5.启动这3台zk,写批处理一起执行

/usr/local/zkcluster/zk01/bin/./zkServer.sh start
/usr/local/zkcluster/zk02/bin/./zkServer.sh start
/usr/local/zkcluster/zk03/bin/./zkServer.sh start

 

6.启动完之后,我们可以分别看每个zk节点的状态,可以看到有leader 和follower 类型

[root@centos02 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zkcluster/zk02/bin/../conf/zoo.cfg
Mode: follower

 

[root@centos02 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zkcluster/zk01/bin/../conf/zoo.cfg
Mode: leader

 

 

这样zookeeper集群就搭建完了

posted on 2018-09-09 19:48  iscys  阅读(165)  评论(0编辑  收藏  举报