Zookeeper的单机&集群环境搭建

单机环境的安装

首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/

将安装包上传到Linux上:

  • 进行解压 : tar zxvf zookeeper-3.4.14.tar.gz

  • 进行更名 : mv zookeeper-3.4.14 zookeeper

  • 删除压缩包 :rm -rf zookeeper-3.4.14.tar.gz

进入到我们更名后的ZK文件夹内创建个文件夹 : mkdir data

进入到conf文件夹 复制一个文件且更名: cp zoo_sample.cfg zoo.cfg

  

对zoo.cfg文件进行编辑 vim zoo.cfg

数据文件夹dataDir指定为我们刚刚创建的那个data文件夹的路径,不要使用系统的/tmp目录作为ZK的数据目录

   

然后我们就可以启动服务了,在解压文件的bin目录下 :

  • 启动服务: ./zkServer.sh start

  • 查看状态: ./zkServer.sh status

单机的我们到这里就算是搭建完成了,用于测试环境还行,由于单机的服务都存在一个致命问题那就是单点故障问题,所以一般在生产环境中诸多这种类型的服务都是以集群的方式出现,下面我们搭建一个由三台服务器构成的的ZK集群

集群环境的搭建

在ZK集群环境下只要一般以上的机器正常启动了,那么这个集群服务就是OK 的,所以一把参与集群的机器都是单,比如5个机器,只需要3个正常就OJBK,下面我们就简单的使用三个机器搭建一下ZK的集群环境,三台机器的ip分别为如下:

  • 192.168.159.159

  • 192.168.159.169

  • 192.168.159.179

和创建单机环境一莫一样的步骤,只是添油加醋

首先我们在159的机器上开动

如法炮制

zk二进制文件上传、解压、更名、参考前面单机安装

首先在解压文件下创建data文件夹,用于保存内存数据库保存的模糊快照 :mkdir data

然后就是复制并更名一个文件 :cp zoo_sample.cfg zoo.cfg

添油加醋

编辑该文件 vim zoo.cfg

  • 第一个修改dataDir指向我们创建的data目录

  • 第二个在下面添加如下图数据

首先解释一下添加并圈起来的数据:

  • sserver.1:表示这个ZK启动后,ZK的myId就是 1

  • 后面跟对应服务器的ip

  • 然后就是2888,这是一个连接端口号,数据通讯的时候(比如同步 )通过这个端口号进行通讯

  • 然后就是3888,这是一个选举端口号,当选举时使用这个端口号进行通讯

创建myid文件

除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个目录也是我们自己创建的,也就是那个data目录,这个文件里面就只有一个数据就是 刚刚配置的那个myId的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个server。

在创建的data文件夹内创建文件: vi myid

每个机器都键入对应myid保存退出即可 比如59的myid为1 ,69的myid为2,就是配置文件中那个myid

配置环境变量

vi /etc/profile 在末端添加如下数据

  • export ZOOKEEPER_HOME=/usr/local/ZK/zookeeper

  • export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

退出保存后进入到 /etc 目录下 执行刷新生效命令 source profile

然后就是我们三台机器的启动工作了:

  • 服务启动:zkServer.sh start

  • 查看状态:zkServer.sh status

三台机器的状态依次为:

  

  

  

这里提醒一下,防火墙我是直接关闭了的,要么你的开通那几个端口,要么直接关闭防火墙服务

集群环境到这里就算搭建完成了

   

 

猜你喜欢

转载自www.cnblogs.com/msi-chen/p/11068925.html