此篇文章默认你会搭建linux虚拟机,如没有这个基础,请等待博主发布;并将链接放在这里
此篇文章不作为Zookeeper的理论知识,将另外的文章推出,请等待博主发布;
JDK环境搭建
yum -y list java*
yum install -y java-1.8.0-openjdk-devel.x86_64
java -version
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
下载安装Zookeepeer
mkdir /third&&cd /third&&wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz&&cd zookeeper-3.4.14
防火墙配置
systemctl disable firewalld&&chkconfig iptables off
配置zookeeper环境变量
(1)更改环境文件
vi /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
(2)刷新环境变量
source /etc/profile
配置文件详情
# 【心跳配置】
tickTime=2000
initLimit=10
syncLimit=5
# 【集群配置】
server.0=192.168.233.128:2888:3888
server.1=0.0.0.0:2888:3888
server.2=192.168.233.130:2888:3888
# 【持久化配置】
dataDir=/tmp/zookeeper
#【客户端端口】
clientPort=2181
Ps:注意,本机ip用0.0.0.0表示,属性后面别打注释
server.A=B:C:D
server.2=192.168.233.130:2888:3888
A是一个数字,表示这个是第几号服务器
B独立服务器的ip地址
C独立服务器的zookeeper客户端地址,默认2888
D独立服务器的zookeeper选举地址,默认3888
创建myid(用于标记集群文件)
(1)server.0执行
mkdir /third/temp/&&mkdir /third/temp/zookeeper
cat >/third/temp/zookeeper/myid<<EOF
0
EOF
(2)server.1执行
mkdir /third/temp/&&mkdir /third/temp/zookeeper
cat >/third/temp/zookeeper/myid<<EOF
1
EOF
(3)server.2执行
mkdir /third/temp/&&mkdir /third/temp/zookeeper
cat >/third/temp/zookeeper/myid<<EOF
2
EOF
配置并启动
cp conf/zoo_sample.cfg conf/zoo.cfg #将模板配置文件,建立实际文件
bin/zkServer.sh start
用这个操作可以几个窗口一起发指令;
注意,一定要在zk的根目录下,用bin/zkServer.sh start,不要进入bin目录下启动脚本,不然会如下错;可能是因为他的启动依赖了你执行指令的位置
运维和测试
bin/zkServer.sh restart
bin/zkServer.sh stop
bin/zkServer.sh status
Ps:/third/zookeeper-3.4.14/zookeeper.out文件可以查看启动失败的原因;
一开始可能会失败几次,因为同时启动但是zookeeper会不断重试节点之间的通讯;
遇到这个要是刚启动或者其他服务启动失败,最好去对应的主机下查看out这个文件看看是不是配置文件配错了导致启动失败;