Linux中zooKeeper集群搭建

前提:三个虚拟机(我这里就在一个linux下弄zooKeeper,端口号不同就行),需要java 环境

第一步:

在Linux的某个目录下建立文件夹(mkdir zooKeeper_clusters),在给目录下面有三个zooKeeper(已经解压好的)

                zooKeeper01

                zooKeeper02

                zooKeeper03

第二步:

   2.1进入第一个zooKeeper01,在该目录下建立一个文件夹 zkData,再建立一个文件(touch myid),向里面输出一个id--1

         (echo 1 > myid)

   2.2 重命名zookeeper01/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg

   2.3 vim zookeeper01/conf/zoo.cfg  修改相关配置

           dataDir=/opt/software/zooKeeper_cluster/zookeeper01/zkData(根据你自己的安装位置而定)
           增加如下配置
          #######################cluster##########################

          quorumListenOnAllIPs=true(原因看博客结尾)
          server.1=192.168.80.3:2881:3881
          server.2=192.168.80.3:2882:3882
          server.3=192.168.80.3:2883:3883

   2.4 如果你是在三台linux中配置的,那么者一步你可以不用配置,因为我是在一台linux下启动三台zookeeper,需要改变启动的端口号,即    将  /opt/software/zooKeeper_cluster/zookeeper01/conf/zoo.cfg  中的   clientPort=2181  改为   clientPort=2181 (这个我不改,我这里说是为了我等下改变后面的zookeeper02和zookeeper03说明的)

第三步:

     重复第二步不过目录是zookeeper02 和zookeeper03 ,

    将  /opt/software/zooKeeper_cluster/zookeeper02/conf/zoo.cfg  中的   clientPort=2181  改为   clientPort=2182

    将  /opt/software/zooKeeper_cluster/zookeeper02/conf/zoo.cfg  中的   clientPort=2181  改为   clientPort=2183

 

   zooKeeper02,在该目录下建立一个文件夹 zkData,再建立一个文件(touch myid),向里面输出一个id--2

         (echo 2 > myid)

 zooKeeper03,在该目录下建立一个文件夹 zkData,再建立一个文件(touch myid),向里面输出一个id--2

         (echo 3 > myid)

 

   dataDir=/opt/software/zooKeeper_cluster/zookeeper02/zkData(根据你自己的安装位置而定)

   dataDir=/opt/software/zooKeeper_cluster/zookeeper03/zkData(根据你自己的安装位置而定)

第四步:

分别启动

 /opt/software/zooKeeper_cluster/zookeeper01/bin/zkServer.sh start

/opt/software/zooKeeper_cluster/zookeeper02/bin/zkServer.sh start

/opt/software/zooKeeper_cluster/zookeeper03/bin/zkServer.sh start

第五步:

jps  或者ps -ef | grep zookeeper 查看进程信息即可!或者使用命令zkServer.sh status  查看当前三个zookeeper中那个是leader

那个是follower


关于前面部分参数的解读

(2)配置参数解读
Server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的 ip 地址;
C 是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的
Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
集群模式下配置一个文件myid


关于为什么加上  quorumListenOnAllIPs=true:  https://blog.csdn.net/u014284000/article/details/74508963

关于集群的基本错误别人的博客:https://blog.csdn.net/yelllowcong/article/details/78227758

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值