Selaa lähdekoodia

update ha/zookeeper

reghao 3 viikkoa sitten
vanhempi
commit
327636fb7f

+ 22 - 8
ha/zookeeper/docker-compose1.yml

@@ -2,19 +2,27 @@ services:
   zookeeper:
     image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4
     restart: always
-    hostname: node211
     container_name: zookeeper
+    hostname: node211
     ports:
       - "2181:2181"
-      - "2888:2888"
-      - "3888:3888"
+      - "2888:2888" # 🚨 集群必须暴露:原子广播端口
+      - "3888:3888" # 🚨 集群必须暴露:Leader选举端口
     volumes:
       - /opt/docker/zookeeper/data:/data
       - /opt/docker/zookeeper/datalog:/datalog
+      - /opt/docker/zookeeper/logs:/logs
     environment:
-      ZOO_MY_ID: 1
-      ZOO_SERVERS: server.1=192.168.0.211:2888:3888;2181,server.2=192.168.0.212:2888:3888;2181,server.3=192.168.0.213:2888:3888;2181
+      ZOO_MY_ID: 1  # 🚨 机器1固定为 1
+      # 🚨 核心:用双引号包裹的全局集群视图(三台机器此项完全一致)
+      ZOO_SERVERS: "server.1=192.168.0.211:2888:3888;2181,server.2=192.168.0.212:2888:3888;2181,server.3=192.168.0.213:2888:3888;2181"
+      ZOO_AUTOPURGE_PURGEINTERVAL: 24
+      ZOO_AUTOPURGE_SNAPRETAINCOUNT: 5
+      ZOO_LOG4J_PROP: "INFO, ROLLINGFILE"
+      ZOO_LOG_MAXFILESIZE: "100MB"
+      ZOO_LOG_MAXBACKUPINDEX: 10
       JVMFLAGS: "-Xms512m -Xmx512m"
+      ZOO_MAX_CLIENT_CNXNS: 60
     deploy:
       resources:
         limits:
@@ -23,8 +31,14 @@ services:
         reservations:
           cpus: '0.5'
           memory: 512M
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "3"
     healthcheck:
-      test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"]
-      interval: 10s
+      test: ["CMD", "zkServer.sh", "status"]
+      interval: 15s      # 🚨 适当延长检查间隔,给集群选举留出时间
       timeout: 5s
-      retries: 3
+      retries: 5         # 🚨 增加重试次数,防止因同伴未拉起被 Docker 误杀
+      start_period: 20s  # 🚨 给 20 秒宽限期

+ 21 - 6
ha/zookeeper/docker-compose2.yml

@@ -1,9 +1,11 @@
+version: '3.8'
+
 services:
   zookeeper:
     image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4
     restart: always
-    hostname: node212
     container_name: zookeeper
+    hostname: node212
     ports:
       - "2181:2181"
       - "2888:2888"
@@ -11,10 +13,17 @@ services:
     volumes:
       - /opt/docker/zookeeper/data:/data
       - /opt/docker/zookeeper/datalog:/datalog
+      - /opt/docker/zookeeper/logs:/logs
     environment:
-      ZOO_MY_ID: 2
-      ZOO_SERVERS: server.1=192.168.0.211:2888:3888;2181,server.2=192.168.0.212:2888:3888;2181,server.3=192.168.0.213:2888:3888;2181
+      ZOO_MY_ID: 2  # 🚨 机器2改为 2
+      ZOO_SERVERS: "server.1=192.168.0.211:2888:3888;2181,server.2=192.168.0.212:2888:3888;2181,server.3=192.168.0.213:2888:3888;2181"
+      ZOO_AUTOPURGE_PURGEINTERVAL: 24
+      ZOO_AUTOPURGE_SNAPRETAINCOUNT: 5
+      ZOO_LOG4J_PROP: "INFO, ROLLINGFILE"
+      ZOO_LOG_MAXFILESIZE: "100MB"
+      ZOO_LOG_MAXBACKUPINDEX: 10
       JVMFLAGS: "-Xms512m -Xmx512m"
+      ZOO_MAX_CLIENT_CNXNS: 60
     deploy:
       resources:
         limits:
@@ -23,8 +32,14 @@ services:
         reservations:
           cpus: '0.5'
           memory: 512M
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "3"
     healthcheck:
-      test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"]
-      interval: 10s
+      test: ["CMD", "zkServer.sh", "status"]
+      interval: 15s
       timeout: 5s
-      retries: 3
+      retries: 5
+      start_period: 20s

+ 19 - 6
ha/zookeeper/docker-compose3.yml

@@ -2,8 +2,8 @@ services:
   zookeeper:
     image: registry.cn-chengdu.aliyuncs.com/reghao/zookeeper:3.8.4
     restart: always
-    hostname: node213
     container_name: zookeeper
+    hostname: node213
     ports:
       - "2181:2181"
       - "2888:2888"
@@ -11,10 +11,17 @@ services:
     volumes:
       - /opt/docker/zookeeper/data:/data
       - /opt/docker/zookeeper/datalog:/datalog
+      - /opt/docker/zookeeper/logs:/logs
     environment:
-      ZOO_MY_ID: 3
-      ZOO_SERVERS: server.1=192.168.0.211:2888:3888;2181,server.2=192.168.0.212:2888:3888;2181,server.3=192.168.0.213:2888:3888;2181
+      ZOO_MY_ID: 3  # 🚨 机器3改为 3
+      ZOO_SERVERS: "server.1=192.168.0.211:2888:3888;2181,server.2=192.168.0.212:2888:3888;2181,server.3=192.168.0.213:2888:3888;2181"
+      ZOO_AUTOPURGE_PURGEINTERVAL: 24
+      ZOO_AUTOPURGE_SNAPRETAINCOUNT: 5
+      ZOO_LOG4J_PROP: "INFO, ROLLINGFILE"
+      ZOO_LOG_MAXFILESIZE: "100MB"
+      ZOO_LOG_MAXBACKUPINDEX: 10
       JVMFLAGS: "-Xms512m -Xmx512m"
+      ZOO_MAX_CLIENT_CNXNS: 60
     deploy:
       resources:
         limits:
@@ -23,8 +30,14 @@ services:
         reservations:
           cpus: '0.5'
           memory: 512M
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "3"
     healthcheck:
-      test: ["CMD-SHELL", "echo ruok | nc localhost 2181 | grep imok"]
-      interval: 10s
+      test: ["CMD", "zkServer.sh", "status"]
+      interval: 15s
       timeout: 5s
-      retries: 3
+      retries: 5
+      start_period: 20s