1 装置

# 1. 装置docker-compose,须要事后装置好Dockersudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 减少可执行权限sudo chmod +x /usr/local/bin/docker-compose# 2. 创立相干文件夹mkdir -p /opt/zookeeper && mkdir -p /opt/kafka# 3. 筹备配置文件echo 'version: '3.7'services:  zookeeper:    image: wurstmeister/zookeeper    volumes:       - /opt/zookeeper/data:/data    container_name: zookeeper    mem_limit: 1024M    environment:      ZOOKEEPER_CLIENT_PORT: 2181      ZOOKEEPER_TICK_TIME: 2000    ports:      - 2181:2181    restart: always  kafka_node1:    image: wurstmeister/kafka    container_name: kafka_node1    mem_limit: 1024M    depends_on:      - zookeeper    ports:       - 9092:9092    volumes:      - /opt/kafka/data:/kafka    environment:      KAFKA_CREATE_TOPICS: "test"      KAFKA_BROKER_NO: 0      KAFKA_LISTENERS: PLAINTEXT://kafka_node1:9092      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://${kafka_service_public_ip}:${kafka_service_public_port}      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1      KAFKA_HEAP_OPTS: "-Xmx512M -Xms16M"    restart: always  kafka_manager:     image: hlebalbau/kafka-manager:stable    ports:      - 9000:9000    environment:      ZK_HOSTS: "zookeeper:2181"      depends_on:      - zookeeper      - kafka_node1    restart: always' > /etc/kafka/kafka.yml# 3. 启动容器服务docker-compose -f /etc/kafka/kafka.yml up -d

2 应用Kafka-Mgr治理集群

拜访服务所在主机的9000端口,按如下图所示创立集群:

  • 若呈现 Yikes! KeeperErrorCode = Unimplemented for /kafka-manager/mutex Try again. 谬误,参考此issue解决,具体步骤如下:

    docker exec -it zookeeper bashroot@98747a9eac65:/zookeeper-3.4.14# ./bin/zkCli.sh[zk: localhost:2181(CONNECTED) 2] ls /kafka-manager[configs, deleteClusters, clusters][zk: localhost:2181(CONNECTED) 3] create /kafka-manager/mutex ""Created /kafka-manager/mutex[zk: localhost:2181(CONNECTED) 5] create /kafka-manager/mutex/locks ""Created /kafka-manager/mutex/locks[zk: localhost:2181(CONNECTED) 6] create /kafka-manager/mutex/leases ""Created /kafka-manager/mutex/leases

3 参考

  • Docker环境下部署Kafka
  • docker-compose部署Kafka
  • Kafka-Mgr的应用