ZooKeeper安装和配置

2016-07-21  本文已影响0人  珍爱矢豆

软件下载


写本文时, ZooKeeper 最新稳定版本是 3.4.8, 可以从 ZooKeeper官网 下载 zookeeper-3.4.8.tar.gz。将下载的 zookeeper-3.4.8.tar.gz 文件拷贝到 /opt 目录下。

安装和配置


安装 ZooKeeper 之前需要先安装 JDK, 关于 JDK 的安装这里不再赘述。

  1. 解压

    sudo tar -zxvf zookeeper-3.4.8.tar.gz
    
  2. 目录重命名

    sudo mv zookeeper-3.4.8 zookeeper
    
  3. 修改用户和用户组

    sudo chown —R hadoop:hadoop zookeeper/
    
  4. 环境变量配置

编辑 .bashrc 文件, 在文件末尾添加以下环境变量配置:

   # ZooKeeper Env
   export ZOOKEEPER_HOME=/opt/zookeeper
   export PATH=$PATH:$ZOOKEEPER_HOME/bin

运行以下命令使环境变量生效:

   source .bashrc

核心配置文件zoo.cfg


初次使用 ZooKeeper 时, 需要将 $ZOOKEEPER_HOME/conf 目录下的 zoo_sample.cfg 重命名为 zoo.cfg, zoo.cfg 默认配置如下:

# The number of milliseconds of each 
ticktickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

配置项说明如下:

更多 ZooKeeper 配置后面会写文章详细描述。

单机模式


  1. zoo.cfg配置

    ticketTime=2000
    clientPort=2181
    dataDir=/opt/zookeeper/data
    dataLogDir=/opt/zookeeper/logs
    
  2. 启动 ZooKeeper 服务

可以使用如下命令来启动 ZooKeeper 服务

   zkServer.sh start

服务启动信息如下:


  1. 验证 ZooKeeper 服务

服务启动完成后, 可以使用 telnet 和 stat 命令验证服务器启动是否正常:


在单机模式中, Mode 的值是 "standalone"。

  1. 停止 ZooKeeper 服务

想要停止 ZooKeeper 服务, 可以使用如下命令:

   zkServer.sh stop

服务停止信息如下:


集群模式


  1. zoo.cfg配置

在 master 机器上, 在单机模式的配置文件下增加了最后 5 行配置:

   ticketTime=2000
   clientPort=2181
   dataDir=/opt/zookeeper/data
   dataLogDir=/opt/zookeeper/logs
   initLimit=10
   syncLimit=5
   server.1=master:2888:3888
   server.2=slave01:2888:3888
   server.3=slave02:2888:3888

相关配置说明:

  1. 创建myid文件

在 dataDir 指定的目录下 (即 /opt/zookeeper/data 目录) 创建名为 myid 的文件, 文件内容和 zoo.cfg 中当前机器的 id 一致。根据上述配置, master 的 myid 文件内容为 1。

  1. slave配置

按照相同步骤, 为 slave01 和 slave02 配置 zoo.cfg 和 myid 文件。zoo.cfg文件内容相同, slave01 的 myid 文件内容为 2, slave02 的 myid 文件内容为 3。

  1. 集群启动

在集群中的每台机器上执行以下启动命令:

   zkServer.sh start

启动信息如下:


master 和 slave01 两台服务器的 Mode 值均为 follower, 表明它们在集群中的角色为 Follower。


slave02 服务器的 Mode 值为 leader, 表明它在集群中的角色为 Leader。

参考资料

http://zookeeper.apache.org/doc/current/zookeeperStarted.html

上一篇 下一篇

猜你喜欢

热点阅读