Zookeeper的安装和部署

本文为linux centOS 7环境的安装与部署

1、安装

从官网镜像中下载 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.4-beta/   

通过以下命令,解压安装包

tar -zxvf zookeeper-3.5.4-beta.tar.gz

2、目录结构:

  • bin目录 
    zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。
  • conf目录 
    配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。
  • lib 
    zk依赖的包。
  • contrib目录 
    一些用于操作zk的工具包。
  • recipes目录 
    zk某些用法的代码示例

3、添加zoo.cfg文件,文件基本信息

复制zoo_sample.cfg ,否则运行会报错 ,需要zoo.cfg文件

cp zoo_sample.cfg zoo.cfg

配置文件信息

  • initLimit 
    ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。 
    当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。
  • syncLimit 
    配置follower和leader之间发送消息,请求和应答的最大时间长度。
  • tickTime 
    tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。
  • dataDir 
    其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。

4、运行命令

进入bin目录

sh zkServer.sh start  启动
sh zkServer.sh status 查看状态
sh zkServer.sh stop 关闭
sh zkCli.sh  进入客户端
sh zkCli.sh -server 192.168.11.1  连接其他服务器

5、搭建集群环境

建议2n+1台zookeeper,我演示的3台

5.1配置信息

在 datadir目录下创建myid 文件 内容分别为1 、2 、 3 ,myid不能重复

在zoo.cfg文件最后添加 server.myid=host:port1:port2 ,端口 :2888 数据同步  3888选举
其中myid为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。 
host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。

扫描二维码关注公众号,回复: 4412963 查看本文章
server.1=192.168.157.157:2888:3888
server.2=192.168.157.128:2888:3888
server.3=192.168.157.129:2888:3888

5.2启动

启动3台zookeeper 

sh zkServer.sh start

进入log目录下  使用tail -f 查看日志  

会遇到报错:

         启动时会报错:java.net.NoRouteToHostException: 没有到主机的路由

解决方法:systemctl stop firewalld.service 关闭防火墙 / 或者打开端口

猜你喜欢

转载自blog.csdn.net/qq_38423105/article/details/82356621