> 文档中心 > Zookeeper集群部署

Zookeeper集群部署


1、服务器环境:

        物理服务器:3台 ;zookeeper集群节点3个,安装依赖java环境

IP

部署服务

部署路径

脚本路径

192.168.1.1

zookeeper

/opt/zookeeper

/opt/shell/zookeeper.sh

192.168.1.2

zookeeper

/opt/zookeeper

/opt/shell/zookeeper.sh

192.168.1.3

zookeeper

/opt/zookeeper

/opt/shell/zookeeper.sh

2、解压zookeeper文件包(3台服务器执行)

        tar -zxvf zookeeper-3.4.6.tar.gz

        mv zookeeper-3.4.6 zookeeper

  1. 编辑zookeeper环境变量(3台服务器执行普通用户,如果是root保存/etc/profile)

        echo -e "export ZOOKEEPER_HOME=/opt/zookeeper" >> ~/.bash_profile

        echo -e "export PATH=.:$ZOOKEEPER_HOME/bin:$PATH" >> ~/.bash_profile

3、创建配置文件(3台服务执行)

        mkdir -p /opt/zookeeper/data

        mkdir -p /opt/zookeeper/logs

4、设置pid,A服务器--1 B服务器--2 C服务器--3,用来标识惟一当前机器

        echo -e "1">/opt/zookeeper/data/myid     #A服务器执行

        echo -e "2">/opt/zookeeper/data/myid     #B服务器执行

        echo -e "3">/opt/zookeeper/data/myid     #C服务器执行

5、配置文件

        cp zoo_sample.cfg zoo.cfg

     追加配置文件信息

        echo -e "tickTime=2000\n\

        initLimit=10\n\

        syncLimit=5\n\

        dataLogDir=/opt/zookeeper/logs\n\

        dataDir=/opt/zookeeper/data\n\

        clientPort=2181\n\

        server.1=A服务器IP:2888:3888\n\

        server.2= B服务器IP:2888:3888\n\

        server.3= C服务器IP:2888:3888">/opt/zookeeper/conf/zoo.cfg

6、服务启动

        /opt/zookeeper/bin/zkServer.sh start(三个节点都操作)

        /opt/zookeeper/bin/zkServer.sh status  ##服务状态查看

        #A服务

        #B服务

        #C服务

7、服务启动脚本文件:

cat /opt/shell/server_jk.sh #!/bin/bash#应用服务进程监控启动脚本#zookeeper目录source /etc/profileZOOK_HOME=/opt/zookeepernum=`ps -ef |grep -v grep |grep /build/classes:$ZOOK_HOME|wc -l`if [ $num -ne 1 ];then #关闭多余的进程 ps -ef |grep -v grep |grep /build/classes:$ZOOK_HOME|awk '{print $2}'| xargs kill -9 #启动zookeeper/opt/zookeeper/bin/zkServer.sh startfi

8、定时任务:

crontab -e
* * * * * /bin/sh /opt/shell/server_jk.sh > /dev/null 2>&1