生产环境zookeeper集群部署
zookeeper简介:
一、安装zookeeper前需要安装软件依赖:jdk1.8(先部署jdk)
1、安装前的清理工作
rpm -qa |
grep
jdk
rpm -qa |
grep
gcj
yum -y remove java-xxx-xxx
[root@k8s-master src]# ls
jdk-8u131-linux-x64.rpm
添加执行权限:
命令:chmod +x jdk-8u131-linux-x64.rpm
执行rpm进行安装
命令:rpm -ivh jdk-8u131-linux-x64.rpm
查看JDK是否安装成功
命令:java -version
查看JDK的安装路径,(一般默认的路径:/usr/java/jdk1.8.0_131)
配置JDK环境变量
export
JAVA_HOME=
/usr/java/jdk1
.8.0_131
export
JRE_HOME=${JAVA_HOME}
/jre
export
CLASSPATH=.:${JAVA_HOME}
/lib
:${JRE_HOME}
/lib
:$CLASSPATH
export
JAVA_PATH=${JAVA_HOME}
/bin
:${JRE_HOME}
/bin
export
PATH=$PATH:${JAVA_PATH}
在vim /usr/local/src/zookeeper/zoo.cfg
dataDir=/usr/local/src/zookeeper/dtata #用于配置内存数据库保存的模糊快照的目录
dataLogDir=/usr/local/src/zookeeper/log #日志文件存放路径
server.A=B:C:D #中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口
server.1=172.16.8.235:801:802
server.2=172.16.8.236:801:802
server.3=172.16.8.237:801:802
6、配置环境变量:
vim /etc/profile
#设置软连接的路径
${ZOOKEEPER_HOME}/bin #用于在任何文件目录都可以启动
${ZOOKEEPER_HOME}/conf #用于稍后配置的自启动
export ZOOKEEPER_HOME=/usr/local/src/zookeeper
PATH=$PATH:${ZOOKEEPER_HOME}/bin:${ZOOKEEPER_HOME}/conf
保存退出后:source /etc/profile
命令使修改生效
7、配置myid文件:
先创建data和logs文件夹 :mkdir -p /usr/local/src/zookeeper/{data,logs}
创建myid文件:echo "1" > /usr/local/src/zookeeper/data/myid #在zoo.cfg文件中配置的dataDir路径中创建myid文件,使用下面的命令,将数字“1”写入myid文件,这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A)
8、配置从服务器:
复制主服务器的zookeeper到从服务器 :scp -r /usr/local/src/apache-zookeeper-3.5.5-bin root@ip地址:/usr/local/src
创建软链接:ln -s zookeeper-apache-zookeeper-3.5.5-bin zookeeper
配置myid文件:先mkdir -p /usr/local/src/zookeeper/{data,logs} 在:echo "2" > /usr/local/src/zookeeper/data/myid
复制主服务器的zookeeper到从服务器 :scp -r /usr/local/src/apache-zookeeper-3.5.5-bin root@ip地址:/usr/local/src
创建软链接:ln -s zookeeper-apache-zookeeper-3.5.5-bin zookeeper
配置myid文件:先mkdir -p /usr/local/src/zookeeper/{data,logs} 在:echo "3 > /usr/local/src/zookeeper/data/myid
9、启动每一个服务器上的zookeeper节点:
cd zookeeper 执行 bin/zkServer.sh start
启动后查看每个节点的状态 :/usr/local/src/zookeeper/bin/zkServer.sh status
10、zookeeper集群测试:
/usr/local/src/zookeeper/bin/zkCli.sh -server 从服务器IP地址
11、添加服务启动脚本:vim /etc/init.d/zookeeper (每个几点上面都要操作)
#!/bin/bash export JAVA_HOME=/usr/java/jdk1
.8.0_131
zoo=/usr/local/src/zookeeper/bin/zkServer.sh case "$1" in start) $zoo start /usr/local/src/zookeeper/conf/zoo.cfg ;; stop) $zoo stop /usr/local/src/zookeeper/conf/zoo.cfg ;; status) $zoo status /usr/local/src/zookeeper/conf/zoo.cfg ;; restart) $zoo restart /usr/local/src/zookeeper/conf/zoo.cfg ;; esac
12、给zookeeper启动脚本文件添加执行权限:
chmod +x /etc/init.d/zookeeper
13、部署zkweb(这里使用的docker部署zkweb)
创建dockeryum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
docker启动
systemctl enable docker && systemctl start docker
zkweb页面docker安装
docker run -d -p8099:8099 --name zkweb peterpoker/zkweb:v1.2.1