zookeeper集群搭建(从入门到实战)

1.1 服务器列表
  服务器名称 服务器地址 服务器端口
  master 192.168.145.180 2181
  slave1 192.168.145.181 2181
  slave2 192.168.145.182 2181
1.2 jdk安装
  1)使用winscp连接192.168.198.180的22端口。输入用户名:root,密码:******
  2)上传jdk1.8.0_181.zip到home目录
  3)使用XshellPortable连接192.168.198.180的22端口。输入用户名:root,密码:******
  4)关闭防火墙
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    vi /etc/selinux/config
    将SELINUX=enforcing改为SELINUX=disabled

  5)cd /home
  6)unzip -d /home/jdk1.8.0_181 jdk1.8.0_181.zip
  7)chmod -R 777 jdk1.8.0_181
  8)vi /etc/profile
  9)在 profile 最后位置添加如下命令
    export JAVA_HOME=/home/jdk1.8.0_181
    export JAVA_BIN=/home/jdk1.8.0_181/bin
    export PATH=PATH:PATH:JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/
  10)更改完成之后按下键盘Esc键退出编辑,之后输入:wq回车退出并保存
  11)source /etc/profile
  12)java -version
  如果出现下图:
zookeeper集群搭建(从入门到实战)
  则要卸载openjdk,卸载步骤:
  13)rpm -qa|grep java
zookeeper集群搭建(从入门到实战)

对以上内容进行卸载,命令如下:
  1.rpm -e --nodeps tzdata-java-2017b-1.el7.noarch
  2.rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
  3.rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
  4.rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_6
  5.source /etc/profile
  6.java -version
  出现如下图为正常:
zookeeper集群搭建(从入门到实战)

14)用以上步骤分别安装其他两台服务器
1.3 安装zookeeper
  1)使用winscp连接192.168.198.62的180端口。输入用户名:root,密码:******
  2)上传zookeeper-3.4.9.tar.gz到data目录
  3)使用XshellPortable连接192.168.198.180的22端口。输入用户名:root,密码:******
  4)cd /home
  5)tar -zxvf zookeeper-3.4.9.tar.gz
  6)cd /home/zookeeper-3.4.9/
  7)mkdir data
  8)chmod 777 data
  9)cd /home/zookeeper-3.4.9/conf/
  10)cp zoo_sample.cfg zoo.cfg
  11)vi zoo.cfg
  12)修改dataDir=/tmp/zookeeper为dataDir=/home/zookeeper-3.4.9/data
  13)在clientPort=2181下面增加
    server.0=192.168.145.180:2888:3888
    server.1=192.168.145.181:2888:3888
    server.2=192.168.145.182:2888:3888
  14)更改完成之后按下键盘Esc键退出编辑,之后输入:wq回车退出并保存
  15)创建myid文件
    cd /home/zookeeper-3.4.9/data
    touch myid
  16)修改myid文件
    vi myid
  根据上面的配置,如果当前是180机器,则myid文件中写0,181写1,也就是server.x的这个x,上面配置180是0,181是1,182是2。则根据实际安装的机器修改。
  17)用以上方式分别安装其他两台服务器
1.4 启动zookeeper集群
  cd /home/zookeeper-3.4.9/bin
  ./zkServer.sh start
1.5 集群测试
  1)服务器状态
    cd /home/zookeeper-3.4.9/bin
    ./zkServer.sh status
  180服务器:
zookeeper集群搭建(从入门到实战)
  181服务器:
zookeeper集群搭建(从入门到实战)
  182服务器:
zookeeper集群搭建(从入门到实战)
  从上面的三台服务器状态可以看到182服务器是leader角色,180和181服务器是follower角色。
  2)停止182服务器
    cd /home/zookeeper-3.4.9/bin
    ./zkServer.sh stop
  182服务器:
zookeeper集群搭建(从入门到实战)
  181服务器:
zookeeper集群搭建(从入门到实战)
  180服务器:
zookeeper集群搭建(从入门到实战)
  3)再次启动182服务器
    cd /home/zookeeper-3.4.9/bin
    ./zkServer.sh start
  服务器状态如下:
  182服务器:
zookeeper集群搭建(从入门到实战)
  181服务器:
zookeeper集群搭建(从入门到实战)
  180服务器:
zookeeper集群搭建(从入门到实战)
  到此为止,整个zookeeper集群全部搭建完成。
1.6错误处理
  安装好以后在启动zookeeper时,可能会遇到Error contacting service. It is probably not running。
  解决思路:
    1.防火墙未关闭导致的,检查防火墙。
    2.在启动zookeeper以后在bin目录下会出现一个zookeeper.out文件,是zookeeper的启动日志,可以进行查看具体的错误情况。
    3.停止zookeeper集群,删除节点信息,重新启动。删除节点信息命令如下:
      cd /home/zookeeper-3.4.9/data
      rm -rf version-2/
      rm -rf zookeeper_server.pid
  4.检查端口是否被占用
    netstat -apn | grep 2181