实战交付dubbo微服务到k8s_02部署Zookeeper集群

Zookeeper 是Dubbo微服务集群的注册中心,它的高可用机制和K8S的etcd集群一致

由Java编写,所以需要jdk环境
环境规划:
主机名 角色 IP
hdss7-11.host.com  k8s代理节点1,zk1 10.4.7.11
hdss7-12.host.com  k8s代理节点2,zk2 10.4.7.12
hdss7-21.host.com  k8s运算节点1,zk3 10.4.7.21
hdss7-22.host.com  k8s运维节点2,Jenkins 10.4.7.22
hdss7-200.host.com k8s运维节点(harbor仓库) 10.4.7.11

部署zookeeper
jdk8 安装
jdk下载可以去oracle官网下载
也可以从这里下载:http://106.12.88.74/softdown/centos7/13_elk/jdk-8u221-linux-x64.tar.gz
10.4.7.11 10.4.7.12 10.4.7.21上面安装jdk8

mkdir -p /usr/java
tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java/
cd /usr/java
ln -s /usr/java/jdk1.8.0_221 /usr/java/jdk

设置环境变量:
vim /etc/profile

## 添加如下内容到最后面
export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar



+++++++
部署zookeeper [ 10.4.7.11 10.4.7.12 10.4.7.21 ]
下载地址:https://archive.apache.org/dist/zookeeper/

此次实验用的版本是3.4.14
https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar xf zookeeper-3.4.14.tar.gz -C /opt/
cd /opt/ && ln -s /opt/zookeeper-3.4.14 /opt/zookeeper

创建日志目录和数据目录
mkdir -p /data/zookeeper/data /data/zookeeper/logs

vim /opt/zookeeper/conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
server.1=zk1.od.com:2888:3888
server.2=zk2.od.com:2888:3888
server.3=zk3.od.com:2888:3888

### 三个节点 zookeeper配置都一样

##### 添加主机记录 10.4.7.11 上面操作:

vim /var/named/od.com.zone


systemctl restart named


zookeeper 要做集群,需要一个myid的文件
配置myid ,在三个节点上都要配置 [ 10.4.7.11 10.4.7.12 10.4.7.21 ]

10.4.7.11 myid 1
10.4.7.12 myid 2
10.4.7.21 myid 3
vim /data/zookeeper/data/myid




##+++++++++
依次启动zookeeper [ 10.4.7.11 10.4.7.12 10.4.7.21 ]

/opt/zookeeper/bin/zkServer.sh start




/opt/zookeeper/bin/zkServer.sh status







用supervisor 来管理zookeeper服务

yum install supervisor -y
##创建supervisor启动zookeeper 的日志文件存放的目录

mkdir -p /data/logs/zookeeper

cd /etc/supervisord.d

vim zookeeper.ini

[program:zookeeper-server-7-21]
command=/opt/zookeeper/bin/zkServer.sh start-foreground
numprocs=1
directory=/opt/zookeeper/bin
autostart=true
autorestart=true
startsecs=30
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=10
user=root
redirect_stderr=true
stdout_logfile=/data/logs/zookeeper/zookeeper.stdout.log
stdout_logfile_maxbytes=64MB
stdout_logfile_backups=4
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
environment=JAVA_HOME=/usr/java/jdk
#####+++++++++
########+++++ supervisor zookeeper.ini 简化版 ##########
[program:zookeeper]
command=/opt/zookeeper/bin/zkServer.sh start-foreground
user=root
autostart=true
autorestart=true
startsecs=3
stdout_logfile=/data/logs/zookeeper/zookeeper.stdout.log
environment=JAVA_HOME=/usr/java/jdk
#####################+++++++++++++++

注意:每个节点的服务名称不要一样,便于区分。

systemctl start supervisord
systemctl enable supervisord
#########+++++++

如果已经安装了supervisor,只需要添加zookeeper.ini

supervisorctl update ##更新配置文件

supervisorctl status ##查看supervisor启动服务的状态
######## hdss7-11 /etc/supervisord.d/zookeeper.ini


######## hdss7-12 /etc/supervisord.d/zookeeper.ini


######## hdss7-21 /etc/supervisord.d/zookeeper.ini