zookeeper单机部署集群

由于手头没有多余的机器,使用单机部署zookeeper集群

1、下载zookeeper,我使用的是zookeeper-3.4.6.tar.gz。  

2、解压

tar -zxvf zookeeper-3.4.6.tar.gz

3、copy成3份 

cp zookeeper-3.4.6 zookeeper-3.4.6_1
cp zookeeper-3.4.6 zookeeper-3.4.6_2
cp zookeeper-3.4.6 zookeeper-3.4.6_3

4、分别修改配置文件

cd zookeeper-3.4.6_1/conf
vim zoo.cfg
tickTime=2000
dataDir=/opt/zookeeper-3.4.6_1/data
dataLogDir=/opt/zookeeper-3.4.6_1/log
clientPort=2181
initLimit=10
syncLimit=5
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883

参数说明:

  • tickTime :基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
  • dataDir :存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
  • clientPort :这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
  • initLimit:这个配置项是用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,当已经超过 5 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。
  • syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
  • server.A = B:C:D : A表示这个是第几号服务器,B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader

5、建立myid文件

vim opt/zookeeper-3.4.6_1/data/myid
1

6、同时设置另外两个zookeeper实例

7、启动

sh /opt/zookeeper-3.4.6_1/bin/zkServer.sh start

8、启动另外两个实例。

注:观察日志可以看到一些错误日志,不用理会,全部启动的时候就OK了

9、查看节点状态

 sh zkServer.sh status

JMX enabled by default
Using config: /opt/zookeeper-3.4.6_1/bin/../conf/zoo.cfg
Mode: follower

  

 

posted on 2016-02-03 16:33  华宇0815  阅读(169)  评论(0编辑  收藏  举报

导航