docker安装kafka+kafka-manager集群

1、搭建zookeeper集群

docker-compose.yml文件

version: '3.1'

services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo2:
    image: zookeeper
    restart: always
    hostname: zoo2
    ports:
      - 2182:2181
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo3:
    image: zookeeper
    restart: always
    hostname: zoo3
    ports:
      - 2183:2181
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181

执行docker-compose up -d命令构建zookeeper集群

2、搭建Kafka集群

搭建三个Kafka节点:

节点1:

$ docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.0.101.162:2181,10.0.101.162:2182,10.0.101.162:2183 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.0.101.162:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

节点2:

$ docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=10.0.101.162:2181,10.0.101.162:2182,10.0.101.162:2183 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.0.101.162:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka

节点3:

$ docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=10.0.101.162:2181,10.0.101.162:2182,10.0.101.162:2183 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.0.101.162:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka

【注意】

其中10.0.101.162:2181改为自己的宿主机IP,查看宿主机方式为

ifconfig en0

> 10.0.101.162

测试Kafka安装情况:

进入其中一个Kafka节点容器中

$ docker exec -ti kafka /bin/bash

进去Kafka所在的目录:

$ cd /opt/kafka_2.13-2.6.0/

创建一个topic,Replication为2,partition为2:

$ bin/kafka-topics.sh --create --zookeeper 10.0.101.162:2181,10.0.101.162:2182,10.0.101.162:2183 --replication-factor 2 --partitions 2 --topic testtopic

Created topic testtopic.

查看topic信息:

$ bin/kafka-topics.sh --describe --zookeeper 0.0.101.162:2181,10.0.101.162:2182,10.0.101.162:2183 --topic testtopic

Topic: testtopic    PartitionCount: 2   ReplicationFactor: 2    Configs:
    Topic: testtopic    Partition: 0    Leader: 2   Replicas: 2,1   Isr: 2,1
    Topic: testtopic    Partition: 1    Leader: 0   Replicas: 0,2   Isr: 0,2

3、安装Kafka-manager

$ docker run -itd  --name=kafka-manager -p 9500:9000 -e ZK_HOSTS="10.0.101.162:2181,10.0.101.162:2182,10.0.101.162:2183" sheepkiller/kafka-manager

容器启动之后,访问localhost:9500访问kafka-manager界面

posted @ 2020-09-04 18:03  bystanderC  阅读(1688)  评论(0编辑  收藏  举报