zookeeper集群部署
环境:
操作系统 | 主机名 | ip |
Centos7.2 | test1 | 10.0.0.1 |
Centos7.2 | test2 | 10.0.0.2 |
Centos7.2 | test3 | 10.0.0.3 |
一、安装依赖环境。
yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 mlocate flex lrzsz sysstat lsof setuptool system-config-network-tui system-config-firewall-tui ntp libaio-devel wget ntp lrzsz telnet git
二. 部署JAVA环境。
1. 下载JDK软件包 jdk-8u91-linux-x64.tar.gz
2. tar -xvzf jdk-8u91-linux-x64.tar.gz -C /data/local/
3. mv /data/local/jdk1.8.0_91 /data/local/java
4.配置环境变量
cat << EOF >>/etc/profile
# JAVA evironment configration
JAVA_HOME=/data/local/java
JRE_HOME=/data/local/java
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export JAVA_HOME CLASSPATH PATH
EOF
5. source /etc/profile
6. java -version
三. 关闭或设置防火墙。
1. systemctl stop firewalld.service
2. systemctl disable firewalld.service
3. firewall-cmd --state
四. 建立主机和ip间的映射关系(三台都配置)。
1. vi /etc/hosts
10.0.0.1 test1
10.0.0.2 test2
10.0.0.3 test3
五. test1 安装配置zk 。
1. tar -xvzf /data/tmp/zookeeper-3.4.10.tar.gz -C /data/local/
2. mv /data/local/zookeeper-3.4.10 /data/local/zookeeper
3. cd /data/local/zookeeper/conf
4. cp cp zoo_sample.cfg zoo.cfg
5. 修改配置文件 vi zoo.cfg(暂时注销zoo1以外的server2、3)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/local/zookeeper/data
clientPort=2181
server.1=10.0.0.1:2888:3888
# server.2=10.0.0.2:2888:3888
# server.3=10.0.0.3:2888:3888
6. mkdir /data/local/zookeeper/data
7. echo 1 > /data/local/zookeeper/data/myid (三台分别为1、2、3)
8. cd /data/local/zookeeper/bin
9. 启动zookeeper。
sh zkServer.sh start
10.添加根节点 zhao 测试
a. zkCli.sh -server test1:2181
b. create /name zhao
c. get /name
11. 安装其余两台 test2、test3,配置做相应修改。去掉每一条里其他节点的注释,重启每个节点。
12. 多机联合测试(三台分别执行状态查询命令,应该有一个leader,两个follower)。
sh zkServer.sh status
13. 同步测试(在test2、test3上分别执行get /name,其结果和test1一样)。
a. zkCli.sh -server test2:2181
b. get /name
14. 主从节点测试(down掉当前状态为leader的节点,测试是否有其他节点升级为新的leader)。
a. ./zkServer.sh stop
b. sh zkServer.sh status