美文网首页Linux
Centos7 安装zookeeper

Centos7 安装zookeeper

作者: Bruce基 | 来源:发表于2020-03-27 07:14 被阅读0次

    选择版本

    到官网下载zookpeer官网选择下载相应版本。

    依赖说明

    zookeeper是用Java编写的,运行在Java环境上,因此,在部署zookeeper的机器上需要安装Java运行的环境,所以我们需要安装JRE1.6或者以上的版本。

    单机配置

    加压zookeeper到conf目录下,复制zoo_sample.cfg为zoo.cfg,打开zoo.cfg,可以看到默认配置如下:

    • tickTime
      时长单位为毫秒,为zk使用的基本时间度量单位。例如,1 * tickTime是客户端与zk服务端的心跳时间,2 * tickTime是客户端会话的超时时间。 tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。
    • clientPort
      zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
    • dataDir
      无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。

    启动

    在Windows环境下,直接双击zkServer.cmd即可。在Linux环境下,进入bin目录,执行命令

    ./zkServer.sh start
    

    这个命令使得zk服务进程在后台进行。如果想在前台中运行以便查看服务器进程的输出日志,可以通过以下命令运行:

    ./zkServer.sh start-foreground
    

    连接

    如果是连接同一台主机上的zk进程,那么直接运行bin/目录下的zkCli.cmd(Windows环境下)或者zkCli.sh(Linux环境下),即可连接上zk。 直接执行zkCli.cmd或者zkCli.sh命令默认以主机号 127.0.0.1,端口号 2181 来连接zk,如果要连接不同机器上的zk,可以使用 -server 参数,例如:

    bin/zkCli.sh -server 127.0.0.1:2181
    

    至此,zookeeper单机服务就搭建好了。

    集群模式

    如果想要集群模式使用,则需要更改配置。

    运行配置

    在集群模式下,所有的zk进程可以使用相同的配置文件(是指各个zookeeper进程部署在不同的机器上面),例如如下配置:

    tickTime=2000
    dataDir=/app/zookeeper
    clientPort=2181
    initLimit=10
    syncLimit=10
    server.1=192.168.229.160:2888:3888
    server.2=192.168.229.161:2888:3888
    server.3=192.168.229.162:2888:3888
    
    配置说明
    • initLimit
      ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。
      当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。
    • syncLimit
      配置follower和leader之间发送消息,请求和应答的最大时间长度。
    • tickTime
      tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为10,说明其超时时间为 2000ms * 10 = 20秒。
      server.id=host:port1:port2
      其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。
      host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。
    • dataDir
      其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。

    启动

    假如我们打算在三台不同的机器 192.168.1.1,192.168.1.2,192.168.1.3上各部署一个zk进程,以构成一个zk集群。 三个zk进程均使用相同的 zoo.cfg 配置:

    tickTime=2000
    dataDir=/app/zookeeper
    clientPort=2181
    initLimit=10
    syncLimit=10
    server.1=192.168.1.1:2888:3888
    server.2=192.168.1.2:2888:3888
    server.3=192.168.1.3:2888:3888
    

    在三台机器dataDir目录/app/zookeeper下,分别生成一个myid文件,其内容分别为1,2,3。然后分别在这三台机器上启动zk进程,这样我们便将zk集群启动了起来。

    连接

    可以使用以下命令来连接一个zk集群:

    bin/zkCli.sh -server 192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181
    

    环境变量

    export ZOOKEEPER_HOME=/app/zookeeper 
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    

    查看当前状态

    ./zkServer.sh status
    

    说明

    本文只做学习参考,如有任何不准确的地方欢迎指正。

    我的邮箱:

    • lulongji2011@163.com

    相关文章

      网友评论

        本文标题:Centos7 安装zookeeper

        本文链接:https://www.haomeiwen.com/subject/xaqcuhtx.html