Docker下安装kafka

先看一下有哪些选择

额,没有官方的,但是可以根据stars来找一个,大多数人都选择第一个,我们看一下GitHub就知道了。

第一个:https://github.com/wurstmeister/kafka-docker

第二个:https://github.com/spotify/docker-kafka

这个相对来说还是比较活跃的,而第二个就...好久没更新了

 正题

在宿主机创建个挂载目录,然后新建一个yml文件(我放在了DockerComposeFolder文件夹里了,你们自定义即可)

[root@localhost admin]# mkdir /usr/local/kafka
[root@localhost admin]# vim DockerComposeFolder/docker-compose-kafka.yml

内容如下:

version: '3.7'
services:
  zookeeper:
    image: zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.192.128
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /usr/local/kafka:/kafka
      - /var/run/docker.sock:/var/run/docker.sock
  kafka-manager:
    image: sheepkiller/kafka-manager
    ports:
      - 9999:9000
    environment:
      ZK_HOSTS: zookeeper:2181

启动

docker-compose -f DockerComposeFolder/docker-compose-kafka.yml up -d

开启防火墙

[root@localhost admin]# firewall-cmd --zone=public --add-port=9092/tcp --add-port=2181/tcp --add-port=9999/tcp --permanent
success
[root@localhost admin]# systemctl restart firewalld

查看已开启的防火墙端口

firewall-cmd --list-all

测试

访问管理页面:http://192.168.192.128:9999/

 新建节点

 

 这个警告按照提示去做即可(改成了2)

 查看

 新建一个topic

成功

 

 收发消息测试

生产者

docker exec -it 52d127863cea bash

/opt/kafka/bin/kafka-console-producer.sh --broker-list 192.168.192.128:9092 --topic first_topic

消费者

docker exec -it 52d127863cea bash

/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.192.128:9092 --topic first_topic --from-beginning

原文地址:https://www.cnblogs.com/LUA123/p/11428226.html