Zookeeper集群的安装与配置

来源:互联网 发布:datediff mysql 编辑:程序博客网 时间:2024/05/18 22:56

Zookeeper集群的安装配置实际上非常简单,只需编辑几个配置文件即可。

有一点需要注意的,Zookeeper集群中Zookeeper服务的数量尽量是奇数个,因为Zookeeper的仲裁机制要求超过半数的服务正常才可以,所以如果是4个的话,那两个正常是无法工作的,必须要3个正常才行。因此zookeeper集群中服务的数量就至少是3个,这样的话保证2个不挂掉就能正常工作。

下面是具体的配置过程:

首先编辑配置文件zoo.conf

tickTime=2000initLimit=10syncLimit=5dataDir=/tmp/data/zk1clientPort=2181server.1=127.0.0.1:2222:2223server.2=192.168.1.101:3333:3334server.3=192.168.1.102:4444:4445

配置文件中主要是最后3行,指定了3个zookeeper服务器server.1,server.2和server.3

其中配置了3个服务器的ip和两个端口号,两个端口号分别用于仲裁通信和群首选举。如果zookeeper运行在不同的服务器上,那么端口号是可以相同的,如果是测试运行在同一台服务器上,那么把端口号错开。

同样的,clientPort也是,如果运行在同一个服务器上,也选择不同的端口号。

当启动一个服务器时,我们需要知道启动的是哪个服务器。一个服务器通过读取dataDir配置的目录下一个名为myid的文件来获取服务器ID信息。可以通过以下命令来创建这些文件:

echo 1 > /tmp/data/zk1/myidecho 2 > /tmp/data/zk2/myidecho 3 > /tmp/data/zk3/myid

这样子,配置就基本完成了,然后启动Zookeeper服务器:

./zkServer.sh start ./zoo1.cfg

如果只启动一个服务器的话zookeeper.out的日志输出里会报错,因为Zookeeper服务的数量少于半数,当启动了第二个的时候就正常了,可以进行工作了。


如果是用客户端进行连接,则客户端也要指定集群:

./zkCli.sh -server 127.0.0.1:2181,192.168.1.101:2182,192.168.1.102:2181

客户端会自动连接的一个server,如果这个server挂了,客户端会切换到另一个。


转载请注明出处:http://blog.csdn.net/redstarofsleep


更多内容请关注:



原创粉丝点击