Zookeeper单机伪集群

  1. 云栖社区>
  2. 博客>
  3. 正文

Zookeeper单机伪集群

无声胜有声 2017-09-30 17:10:00 浏览521
展开阅读全文

Zookeeper单机伪集群

1.配置

zookeeper下载地址:http://apache.mirrors.lucidnetworks.net/zookeeper/

可以选择需要的版本,我下载的是zookeeper-3.4.3.tar.gz,解压得到文件夹zookeeper-3.4.3

  • 在主文件夹下建立一个zookeeper文件夹,在zookeeper文件夹里建立三个目录server1,server2,server3;

mkdir -p server1 server2 server3

  • 然后每个文件夹里面解压一个zookeeper的下载包,并创建data, dataLog, logs目录;

mkdir -p data dataLog logs

首先进入data目录

创建一个myid的文件,里面写入一个数字,比如我这个是server1,那么就写一个1,server2对应myid文件就写入2,server3对应myid文件就写个3

然后进入zookeeper-3.4.3/conf目录

复制zoo_sample.cfg文件为zoo.cfg,打开zoo.cfg,文件内容如下:

# 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=/home/zookeeper/server1/data
dataLogDir=/home/zookeeper/server1/dataLog
# the port at which the clients will connect
clientPort=2181
#
# 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:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

需要注意的是clientPort这个端口如果你是在1台机器上部署多个server,那么每台机器都要不同的clientPort,比如我server1是3181(2181这个端口好像被占用了),server2是2182,server3是2183,dataDir和dataLogDir也需要区分下。

最后几行唯一需要注意的地方就是 server.X 这个数字就是对应 data/myid中的数字。你在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配server.1,server.2,server.3就OK了。因为在同一台机器上,后面连着的2个端口3个server都不要一样,否则端口冲突,其中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。

2.启动ZooKeeper伪机群的所有服务器

分别进入三个服务器的zookeeper-3.4.3/bin目录下,启动服务
./zkServer.sh start

启动完成后,查看服务器状态,

./zkServer.sh status

3.接入客户端

进入任意一个服务器的zookeeper/bin目录下,启动一个客户端,接入服务。

./zkCli.sh –server localhost:3181

多机集群可参考: zookeeper多机集群

网友评论

登录后评论
0/500
评论
无声胜有声
+ 关注