汕头网站建设设计公司,如何网站制作,网站怎么防黑客,视频素材网免费1、拉取镜像
# docker pull zookeeper:3.7.12、创建网络
Docker创建容器时默认采用bridge网络#xff0c;自行分配ip#xff0c;不允许自己指定。在实际部署中#xff0c;需要指定容器ip#xff0c;不允许其自行分配ip#xff0c;尤其在搭建集群时。可以通过docker netw…1、拉取镜像
# docker pull zookeeper:3.7.12、创建网络
Docker创建容器时默认采用bridge网络自行分配ip不允许自己指定。在实际部署中需要指定容器ip不允许其自行分配ip尤其在搭建集群时。可以通过docker network create指令创建自己的bridge网络 在创建容器时指定网络和ip即可。
# 创建自定义网络
# docker network create --driver bridge --subnet172.168.0.0/16 --gateway172.168.1.1 mynet
# 查看所有网络
# docker network ls3、配置文件
a、创建目录
创建用于存放各个zookeeper节点配置文件的config
# mkdir -p /usr/local/zk_cluster/{node1/conf,node2/conf,node3/conf}b、创建文件
# zookeeper 节点1 配置
# vi /usr/local/zk_cluster/node1/conf/zoo.cfg# zookeeper 节点2 配置
# vi /usr/local/zk_cluster/node2/conf/zoo.cfg# zookeeper 节点3 配置存放目录
# vi /usr/local/zk_cluster/node3/conf/zoo.cfg内容
# Zookeeper保存数据的目录默认情况下Zookeeper将写数据的日志文件也保存在这个目录里
dataDir/data# 事物日志存储地点如果没提供的话使用的则是 dataDir
dataLogDir/datalog# 服务器之间或客户端与服务器之间维持心跳的时间间隔也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位
tickTime2000# 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数tickTime的数量
initLimit5# 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数tickTime的数量
syncLimit2# 默认值为3不支持以系统属性方式配置。用于配置Zookeeper在自动清理的时候需要保留的快照数据文件数量和对应的事务日志文件。此参数的最小值为3如果配置的值小于3会自动调整到3
autopurge.snapRetainCount3# 默认值为0单位为小时不支持以系统属性方式配置。用于配置Zookeeper进行历史文件自动清理的频率。如果配置为0或负数表示不需要开启定时清理功能
autopurge.purgeInterval0# 默认为60不支持以系统属性方式配置。从Socket层面限制单个客户端与单台服务器之间的并发连接数即以ip地址来进行连接数的限制。
# 如果设置为0表示不做任何限制。仅仅是单台客户端与单个Zookeeper服务器连接数的限制不能控制所有客户端的连接数总和
maxClientCnxns60# 3.5.0中的新功能当设置为false时可以在复制模式下启动单个服务器单个参与者可以使用观察者运行并且群集可以重新配置为一个节点并且从一个节点。
# 对于向后兼容性默认值为true。可以使用QuorumPeerConfig的setStandaloneEnabled方法或通过将“standaloneEnabled false”或“standaloneEnabled true”添加到服务器的配置文件来设置它。
standaloneEnabledfalse# 内嵌的管理控制台停用这个服务
admin.enableServerfalse# 开启四字命令将所有命令添加到白名单中
4lw.commands.whitelist*# 集群中服务的列表
server.1172.168.0.1:2888:3888;2181
server.2172.168.0.2:2888:3888;2181
server.3172.168.0.3:2888:3888;21815、集群启动
节点1启动
# docker run -d --restart always \
--name zk-node1 \
--network mynet \
--ip 172.168.0.1 \
-p 2181:2181 \
-e ZOO_MY_ID1 \
-v /usr/local/zk_cluster/node1/conf/zoo.cfg:/conf/zoo.cfg \
-v /usr/local/zk_cluster/node1/data:/data \
-v /usr/local/zk_cluster/node1/datalog:/datalog \
-v /usr/local/zk_cluster/node1/logs:/logs \
zookeeper:3.7.1说明 /usr/local/zk_cluster/node1/data指定存放zookeeper数据的目录若该目录不存在则自动生成 /usr/local/zk_cluster/node1/datalog指定存放zookeeper数据日志目录若该目录不存在则自动生成 /usr/local/zk_cluster/node1/logs指定存放zookeeper日志目录若该目录不存在则自动生成 节点2启动
# docker run -d --restart always \
--name zk-node2 \
--network mynet \
--ip 172.168.0.2 \
-p 2182:2181 \
-e ZOO_MY_ID2 \
-v /usr/local/zk_cluster/node2/conf/zoo.cfg:/conf/zoo.cfg \
-v /usr/local/zk_cluster/node2/data:/data \
-v /usr/local/zk_cluster/node2/datalog:/datalog \
-v /usr/local/zk_cluster/node2/logs:/logs \
zookeeper:3.7.1节点3启动
# docker run -d --restart always \
--name zk-node3 \
--network mynet \
--ip 172.168.0.3 \
-p 2183:2181 \
-e ZOO_MY_ID3 \
-v /usr/local/zk_cluster/node3/conf/zoo.cfg:/conf/zoo.cfg \
-v /usr/local/zk_cluster/node3/data:/data \
-v /usr/local/zk_cluster/node3/datalog:/datalog \
-v /usr/local/zk_cluster/node3/logs:/logs \
zookeeper:3.7.16、集群状态
# 在容器 zk-node1 中开启一个交互模式的终端
[rootlocalhost ~]# docker exec -it zk-node1 /bin/bash
# 查看 zookeeper 状态 node1为follower
rootdce8441d0178:/apache-zookeeper-3.7.1-bin# bin/zkServer.sh statusZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
rootdce8441d0178:/apache-zookeeper-3.7.1-bin# exit
exit# 在容器 zk-node2 中开启一个交互模式的终端
[rootlocalhost ~]# docker exec -it zk-node2 /bin/bash
# 查看 zookeeper 状态 node2为leader
root969650dede5a:/apache-zookeeper-3.7.1-bin# bin/zkServer.sh statusZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
root969650dede5a:/apache-zookeeper-3.7.1-bin# exit
exit# 在容器 zk-node3 中开启一个交互模式的终端
[rootlocalhost ~]# docker exec -it zk-node3 /bin/bash
# 查看 zookeeper 状态 node3为follower
root9a0ca305754a:/apache-zookeeper-3.7.1-bin# bin/zkServer.sh statusZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
root9a0ca305754a:/apache-zookeeper-3.7.1-bin# exit
exit7、开放端口
# firewall-cmd --add-port2181/tcp --add-port2182/tcp --add-port2183/tcp --permanent
# firewall-cmd --reload