Docker swarm 配置kafka 集群高可用
一创建服务器挂在目录
mkdir -pv /data/docker/composes/prod/middleware/kafka_cluster/broker1/{conf,data,logs};
mkdir -pv /data/docker/composes/prod/middleware/kafka_cluster/broker2/{conf,data,logs};
mkdir -pv /data/docker/composes/prod/middleware/kafka_cluster/broker3/{conf,data,logs};
二kafka.yml
version: '3'
services:
#kafka服务
kafka_broker1:
image: 10.11.32.23:5000/kafka:v2.13-2.6.0
ports:
- 19092:9092
networks:
- GIE-ECP-overlay-network
environment:
- TZ=CST-8
- KAFKA_ADVERTISED_HOST_NAME=kafka_broker1
- HOST_IP=kafka_broker1
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_ZOOKEEPER_CONNECT=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
- KAFKA_BROKER_ID=0
volumes:
- /data/docker/composes/prod/middleware/kafka_cluster/broker1/conf:/opt/kafka/config
- /data/docker/composes/prod/middleware/kafka_cluster/broker1/logs:/opt/kafka/logs
- /data/docker/composes/prod/middleware/kafka_cluster/broker1/data:/opt/kafka/data
deploy:
replicas: 1
placement:
constraints:
- node.hostname == GIE-EC-Node03
resources:
limits:
# cpus: '1'
memory: 10GB
reservations:
# cpus: '0.2'
memory: 512M
kafka_broker2:
image: 10.11.32.23:5000/kafka:v2.13-2.6.0
ports:
- 29092:9092
networks:
- GIE-ECP-overlay-network
environment:
- TZ=CST-8
- KAFKA_ADVERTISED_HOST_NAME=kafka_broker2
- HOST_IP=kafka_broker2
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_ZOOKEEPER_CONNECT=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
- KAFKA_BROKER_ID=1
volumes:
- /data/docker/composes/prod/middleware/kafka_cluster/broker2/conf:/opt/kafka/config
- /data/docker/composes/prod/middleware/kafka_cluster/broker2/logs:/opt/kafka/logs
- /data/docker/composes/prod/middleware/kafka_cluster/broker2/data:/opt/kafka/data
deploy:
replicas: 1
placement:
constraints:
- node.hostname == GIE-EC-Node04
resources:
limits:
# cpus: '1'
memory: 10GB
reservations:
# cpus: '0.2'
memory: 512M
kafka_broker3:
image: 10.11.32.23:5000/kafka:v2.13-2.6.0
ports:
- 39092:9092
networks:
- GIE-ECP-overlay-network
environment:
- TZ=CST-8
- KAFKA_ADVERTISED_HOST_NAME=kafka_broker3
- HOST_IP=kafka_broker3
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_ZOOKEEPER_CONNECT=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
- KAFKA_BROKER_ID=2
volumes:
- /data/docker/composes/prod/middleware/kafka_cluster/broker3/conf:/opt/kafka/config
- /data/docker/composes/prod/middleware/kafka_cluster/broker3/logs:/opt/kafka/logs
- /data/docker/composes/prod/middleware/kafka_cluster/broker3/data:/opt/kafka/data
deploy:
replicas: 1
placement:
constraints:
- node.hostname == GIE-EC-Node05
resources:
limits:
# cpus: '1'
memory: 10GB
reservations:
# cpus: '0.2'
memory: 512M
kafka_manager:
image: 10.11.32.23:5000/kafka-manager:3.0.0.4
ports:
- 9012:9000
depends_on:
- zookeeper1
- zookeeper2
- zookeeper3
environment:
ZK_HOSTS: "zookeeper1:2181,zookeeper2:2181,zookeeper3:2181"
APPLICATION_SECRET: "random-secret"
networks:
- GIE-ECP-overlay-network
networks:
GIE-ECP-overlay-network:
external: true
三配置文件每个服务器中的 server.properties 配置
参考路径 /data/docker/composes/prod/middleware/kafka_cluster/broker1/conf/server.properties
advertised.port=9092
advertised.host.name=kafka_broker1
port=9092
broker.id=0
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
log.dirs=/kafka/kafka-logs-21b59d04b36a
advertised.port=9092
advertised.host.name=kafka_broker2
port=9092
broker.id=0
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
log.dirs=/kafka/kafka-logs-21b59d04b36a
advertised.port=9092
advertised.host.name=kafka_broker3
port=9092
broker.id=0
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
log.dirs=/kafka/kafka-logs-21b59d04b36a
附录
blog.csdn.net/jucks2611/a… 客户测试端连接
www.freesion.com/article/985… swarm kafka 集群