Linux安装zookeeper集群

来源:互联网 发布:php采集程序 编辑:程序博客网 时间:2024/05/16 02:09

Linux安装zookeeper集群步骤(本文中有三台服务器):
安装之前请先确保Linux已经安装jdk,然后建议将hostname修改为方便记忆的标记(修改方法参考另一博文:linux修改hostname)

1.安装zookeeper:
从官网上面下载zookeeper安装包(本文使用的版本为zookeeper-3.4.6),放到/usr/local目录下面然后解压
这里写图片描述
2. 配置环境变量:编辑/etc/profile文件将zookeeper的环境变量配置进去

export ZOOKEEPER=/usr/local/zookeeper-3.4.6export PATH=$PATH:$ZOOKEEPER/bin

3.配置zoo.cfg文件:
进入zooKeeper的conf目录,将 zoo_sample.cfg复制为zoo.cfg文件,然后编辑zoo.cfg文件:
这里写图片描述


server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。


4.创建myid文件
在dataDir目录下创建一个myid文件,然后分别在myid文件中按照zoo.cfg文件的server.A中A的数值,在不同机器上的该文件中填写相应的值。

[root@leon127 conf]# more /home/leon/zookeeper/zkdata/myid 2

5.按照上述方法同样在另外2台机器上面配置或者直接将该机器上面的文件拷贝到另外的2台机器上面
6.启动各服务器的zooKeeper:./zkServer.sh start
7. 开发人员可以使用命令“JPS”查看Zookeeper是否成功启动,以及执行命令“zkServer.sh status”查看Zookeeper集群状态,如下所示:


[root@leon127 bin]# ./zkServer.sh  statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: leader[root@leon146 bin]# ./zkServer.sh  statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower[root@leon67 bin]# ./zkServer.sh  statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower

8.查看log成功运行:

2016-08-16 17:18:06,678 [myid:2] - INFO  [WorkerReceiver[myid=2]:FastLeaderElection@597] - Notification: 1 (message format version), 2 (n.leader), 0x5f (n.zxid), 0x1 (n.round), LOOKING (n.state), 3 (n.sid), 0x2 (n.peerEpoch) LEADING (my state)2016-08-16 17:18:06,710 [myid:2] - INFO  [LearnerHandler-/10.7.34.67:40382:LearnerHandler@330] - Follower sid: 3 : info : org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer@4f68565b2016-08-16 17:18:06,727 [myid:2] - INFO  [LearnerHandler-/10.7.34.67:40382:LearnerHandler@385] - Synchronizing with Follower sid: 3 maxCommittedLog=0x5f minCommittedLog=0x1 peerLastZxid=0x02016-08-16 17:18:06,727 [myid:2] - WARN  [LearnerHandler-/10.7.34.67:40382:LearnerHandler@446] - Unhandled proposal scenario2016-08-16 17:18:06,727 [myid:2] - INFO  [LearnerHandler-/10.7.34.67:40382:LearnerHandler@462] - Sending SNAP2016-08-16 17:18:06,728 [myid:2] - INFO  [LearnerHandler-/10.7.34.67:40382:LearnerHandler@486] - Sending snapshot last zxid of peer is 0x0  zxid of leader is 0x300000000sent zxid of db as 0x3000000002016-08-16 17:18:06,750 [myid:2] - INFO  [LearnerHandler-/10.7.34.67:40382:LearnerHandler@522] - Received NEWLEADER-ACK message from 32016-08-16 17:47:53,528 [myid:2] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /127.0.0.1:526962016-08-16 17:47:53,529 [myid:2] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@827] - Processing srvr command from /127.0.0.1:526962016-08-16 17:47:53,536 [myid:2] - INFO  [Thread-6:NIOServerCnxn@1007] - Closed socket connection for client /127.0.0.1:52696 (no session established for client)
0 0