中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

部署ZooKeeper

下载并解压ZooKeeper

  1. 登录agent1节点,进入“/usr/local”目录,下载zookeeper-3.4.6.tar.gz,并解压。
    1
    2
    3
    cd /usr/local
    wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
    tar -zxvf zookeeper-3.4.6.tar.gz
    
  2. 建立软链接,便于后期版本更换。
    1
    ln -s zookeeper-3.4.6 zookeeper
    

添加ZooKeeper到环境变量

  1. 登录agent1节点,打开配置文件。
    1
    vi /etc/profile
    
  2. “i”进入编辑模式,添加ZooKeeper到环境变量。
    1
    2
    export ZOOKEEPER_HOME=/usr/local/zookeeper
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
    
  3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 使环境变量生效。
    1
    source /etc/profile
    
  5. 在agent2和agent3节点重复执行1~4,配置ZooKeeper的环境变量。

修改ZooKeeper配置文件

  1. 登录agent1节点,进入ZooKeeper所在目录。
    1
    cd /usr/local/zookeeper/conf
    
  2. 拷贝配置文件。
    1
    cp zoo_sample.cfg zoo.cfg
    
  3. 修改通用配置。
    1. 打开文件。
      1
      vi zoo.cfg
      
    2. “i”进入编辑模式,修改数据目录。
      1
      dataDir=/usr/local/zookeeper/tmp
      
    3. 可选:添加AdminServer配置。(此配置项于ZooKeeper 3.5.0版本引入,低于此版本可跳过此步骤)
      1
      admin.enableServer=false
      
    4. 在文件末尾添加如下代码,其中server.1~server.3是部署ZooKeeper的节点。
      1
      2
      3
      server.1=agent1:2888:3888
      server.2=agent2:2888:3888
      server.3=agent3:2888:3888
      
    5. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 添加JMX配置。
    1. 编辑文件zkServer.sh。
      1
      vi /usr/local/zookeeper/bin/zkServer.sh
      
    2. “i”进入编辑模式,添加JMX配置至图示位置。
      1
      JMXDISABLE=true
      

      若使用ZooKeeper 3.6及以上版本,则可在“/usr/local/zookeeper/conf”目录下新建文件zookeeper-env.sh,将JMX配置设置在此文件中,便于后续配置调整。

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  5. 可选:添加JVM配置。

    若使用ZooKeeper 3.6及以上版本,相关配置已预先设置完毕,可跳过此步骤。

    1. 编辑文件zkEnv.sh。
      1
      vi /usr/local/zookeeper/bin/zkEnv.sh
      
    2. “i”进入编辑模式,添加如下配置至文件末尾。
      1
      2
      3
      4
      5
      6
      7
      # default heap for zookeeper server
      ZK_SERVER_HEAP="${ZK_SERVER_HEAP:-10000}"
      export SERVER_JVMFLAGS="-Xmx${ZK_SERVER_HEAP}m $SERVER_JVMFLAGS"
      
      # default heap for zookeeper client
      ZK_CLIENT_HEAP="${ZK_CLIENT_HEAP:-256}"
      export CLIENT_JVMFLAGS="-Xmx${ZK_CLIENT_HEAP}m $CLIENT_JVMFLAGS"
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  6. 创建“tmp”目录作数据目录。
    1
    mkdir /usr/local/zookeeper/tmp
    
  7. “tmp”目录中创建一个空文件,并向该文件写入myid内容。
    1
    2
    touch /usr/local/zookeeper/tmp/myid
    echo 1 > /usr/local/zookeeper/tmp/myid
    
  8. 配置文件权限。
    1
    2
    3
    4
    5
    chmod 750 /usr/local/zookeeper
    find /usr/local/zookeeper/bin -name "*.sh"  | xargs -i chmod 500 {}
    find /usr/local/zookeeper/conf -name "*" -type f | xargs -i chmod 600 {}
    chown -R root /usr/local/zookeeper-3.4.6
    chgrp -R root /usr/local/zookeeper-3.4.6
    

同步配置到其它节点

  1. 登录agent1节点,将配置好的ZooKeeper拷贝到其它节点。
    1
    2
    scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/local
    scp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
    
  2. 登录agent2、agent3,创建软链接并修改myid内容。
    • agent2:
      1
      2
      3
      cd /usr/local
      ln -s zookeeper-3.4.6 zookeeper
      echo 2 > /usr/local/zookeeper/tmp/myid
      
    • agent3:
      1
      2
      3
      cd /usr/local
      ln -s zookeeper-3.4.6 zookeeper
      echo 3 > /usr/local/zookeeper/tmp/myid