天天看点

Linux安装zookeeper集群

Linux安装zookeeper集群步骤(本文中有三台服务器):

安装之前请先确保Linux已经安装jdk,然后建议将hostname修改为方便记忆的标记(修改方法参考另一博文:linux修改hostname)

1.安装zookeeper:

从官网上面下载zookeeper安装包(本文使用的版本为zookeeper-3.4.6),放到/usr/local目录下面然后解压

Linux安装zookeeper集群

2. 配置环境变量:编辑/etc/profile文件将zookeeper的环境变量配置进去

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

3.配置zoo.cfg文件:

进入zooKeeper的conf目录,将 zoo_sample.cfg复制为zoo.cfg文件,然后编辑zoo.cfg文件:

Linux安装zookeeper集群

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的数值,在不同机器上的该文件中填写相应的值。

5.按照上述方法同样在另外2台机器上面配置或者直接将该机器上面的文件拷贝到另外的2台机器上面

6.启动各服务器的zooKeeper:./zkServer.sh start

7. 开发人员可以使用命令“JPS”查看Zookeeper是否成功启动,以及执行命令“zkServer.sh status”查看Zookeeper集群状态,如下所示:

[root@leon127 bin]# ./zkServer.sh  status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

[root@leon146 bin]# ./zkServer.sh  status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

[root@leon67 bin]# ./zkServer.sh  status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
           

8.查看log成功运行:

-- ::, [myid:] - INFO  [WorkerReceiver[myid=]:FastLeaderElection@597] - Notification:  (message format version),  (n.leader),  (n.zxid),  (n.round), LOOKING (n.state),  (n.sid),  (n.peerEpoch) LEADING (my state)
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@330] - Follower sid:  : info : org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer@4f68565b
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@385] - Synchronizing with Follower sid:  maxCommittedLog= minCommittedLog= peerLastZxid=
-- ::, [myid:] - WARN  [LearnerHandler-/::LearnerHandler@446] - Unhandled proposal scenario
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@462] - Sending SNAP
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@486] - Sending snapshot last zxid of peer is   zxid of leader is sent zxid of db as 
-- ::, [myid:] - INFO  [LearnerHandler-/::LearnerHandler@522] - Received NEWLEADER-ACK message from 
-- ::, [myid:] - INFO  [NIOServerCxn.Factory:/::NIOServerCnxnFactory@197] - Accepted socket connection from /:
-- ::, [myid:] - INFO  [NIOServerCxn.Factory:/::NIOServerCnxn@827] - Processing srvr command from /:
-- ::, [myid:] - INFO  [Thread-:NIOServerCnxn@1007] - Closed socket connection for client /: (no session established for client)
           

继续阅读