swarm下kafka集群部署

韵味老鸟 2024-06-11 14:56:25

swarm 下kafka集群部署

kafka依赖外部zookeeper,需要先部署好集群的zookeeper

1.节点打上标签(manager节点)

docker node update --label-add kafka-node=kafka01 cm1

docker node update --label-add kafka-node=kafka02 cm2

docker node update --label-add kafka-node=kafka03 cm3

2.查看标签

docker inspect cm1|more

3.创建数据挂载目录(各节点)

#登陆<NODE-1> <NODE-2> <NODE-3>

#创建数据挂载目录(这里以/data/kafka为例)

mkdir -p /data/kafka/data

chown 1001 /data/kafka/data

4.compose文件(manager节点)

cd /data/kafka

导入镜像:

docker load < bitnami.kafka.3.3.2.tgz

version: '3.8' services: kafka01: hostname: kafka01 extra_hosts: - "kafka01:192.168.10.14" environment: # - KAFKA_BROKER_ID=1 - KAFKA_CFG_BROKER_ID=1 - KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka01:9092 - KAFKA_CFG_ZOOKEEPER_CONNECT=zk01:2181,zk02:2181,zk03:2181 - ALLOW_PLAINTEXT_LISTENER=yes deploy: replicas: 1 placement: constraints: [node.labels.kafka-node == kafka01] image: bitnami/kafka:3.3.2 ports: - target: 9092 published: 9092 protocol: tcp mode: host networks: - meta volumes: - "/etc/localtime:/etc/localtime:ro" - "/data/kafka/data:/bitnami/kafka/data" kafka02: hostname: kafka02 extra_hosts: - "kafka02:192.168.10.15" environment: # - KAFKA_BROKER_ID=2 - KAFKA_CFG_BROKER_ID=2 - KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka02:9092 - KAFKA_CFG_ZOOKEEPER_CONNECT=zk01:2181,zk02:2181,zk03:2181 - ALLOW_PLAINTEXT_LISTENER=yes deploy: replicas: 1 placement: constraints: [node.labels.kafka-node == kafka02] image: bitnami/kafka:3.3.2 ports: - target: 9092 published: 9092 protocol: tcp mode: host networks: - meta volumes: - "/etc/localtime:/etc/localtime:ro" - "/data/kafka/data:/bitnami/kafka/data" kafka03: hostname: kafka03 extra_hosts: - "kafka03:192.168.10.16" environment: # - KAFKA_BROKER_ID=3 - KAFKA_CFG_BROKER_ID=3 - KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka03:9092 - KAFKA_CFG_ZOOKEEPER_CONNECT=zk01:2181,zk02:2181,zk03:2181 - ALLOW_PLAINTEXT_LISTENER=yes deploy: replicas: 1 placement: constraints: [node.labels.kafka-node == kafka03] image: bitnami/kafka:3.3.2 ports: - target: 9092 published: 9092 protocol: tcp mode: host networks: - meta volumes: - "/etc/localtime:/etc/localtime:ro" - "/data/kafka/data:/bitnami/kafka/data" networks: meta: external: true

5.启动

#以docker stack的方式同时启动Kafka的所有节点

docker stack deploy -c docker-compose.yaml kafka

0 阅读:2