运行kafka之前需要先启动zookeeper
查看Kafka版本命令: docker search kafka
[root@zjj101 soft]# docker search kafka
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
wurstmeister/kafka Multi-Broker Apache Kafka Image 1392 [OK]
spotify/kafka A simple docker image with both Kafka and Zo… 413 [OK]
sheepkiller/kafka-manager kafka-manager 204 [OK]
kafkamanager/kafka-manager Docker image for Kafka manager 133
ches/kafka Apache Kafka. Tagged versions. JMX. Cluster-… 117 [OK]
hlebalbau/kafka-manager CMAK (previous known as Kafka Manager) As Do… 85 [OK]
landoop/kafka-topics-ui UI for viewing Kafka Topics config and data … 36 [OK]
johnnypark/kafka-zookeeper Kafka and Zookeeper combined image 23
solsson/kafka http://kafka.apache.org/documentation.html#q… 22 [OK]
debezium/kafka Kafka image required when running the Debezi… 21 [OK]
landoop/kafka-lenses-dev Lenses with Kafka. +Connect +Generators +Con… 21 [OK]
danielqsj/kafka-exporter Kafka exporter for Prometheus 19 [OK]
landoop/kafka-connect-ui Web based UI for Kafka Connect. 17 [OK]
digitalwonderland/kafka Latest Kafka - clusterable 15 [OK]
tchiotludo/kafkahq Kafka GUI to view topics, topics data, consu… 6 [OK]
solsson/kafka-manager Deprecated in favor of solsson/kafka:cmak 5 [OK]
solsson/kafkacat https://github.com/edenhill/kafkacat/pull/110 5 [OK]
solsson/kafka-consumers-prometheus https://github.com/cloudworkz/kafka-minion 4
solsson/kafka-prometheus-jmx-exporter For monitoring of Kubernetes Kafka clusters … 4 [OK]
mesosphere/kafka-client Kafka client 3 [OK]
zenko/kafka-manager Kafka Manger https://github.com/yahoo/kafka-… 2 [OK]
digitsy/kafka-magic Kafka Magic images 2
zenreach/kafka-connect Zenreach's Kafka Connect Docker Image 2
anchorfree/kafka Kafka broker and Zookeeper image 2
openwhisk/kafkaprovider Apache OpenWhisk event provider service for … 2 [OK]
选择第一个下载
命令:
docker pull wurstmeister/kafka
如果下载很慢的话,建议修改docker拉取镜像为阿里云镜像,下面是修改方法:
https://blog.csdn.net/qq_41489540/article/details/111817670
下载完了查看镜像
发现已经有了wurstmeister/kafka
[root@zjj101 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wurstmeister/kafka latest c3b059ede60e 3 weeks ago 507MB
rabbitmq management e2b066e3fc02 2 months ago 186MB
mysql 5.7 87eca374c0ed 2 months ago 447MB
zookeeper 3.4.10 d9fe1374256f 3 years ago 144MB
启动Kafka
启动Kafka之前必须要先启动zookeeper,这里不演示了.
如果不会安装启动的话看这个帖子:https://blog.csdn.net/qq_41489540/article/details/109129293
启动命令:
[root@zjj101 docker]# docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=zjj101 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
96d83e444a8cce0ee0e50f737c6ffcd457d2ca70c34cdc6f880c51a5a286c5f9
说明:
env KAFKA_ADVERTISED_HOST_NAME=zjj101 这个zjj101是你安装Kafka机器的地址,我这里是配置了host域名映射,所以就是zjj101
测试kafka 是否好使
[root@zjj101 docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96d83e444a8c wurstmeister/kafka:latest "start-kafka.sh" 2 minutes ago Up 2 minutes 0.0.0.0:9092->9092/tcp, :::9092->9092/tcp kafka
d06e6a92f4c1 d9fe1374256f "/docker-entrypoint.…" 47 minutes ago Up 12 minutes 2888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 3888/tcp zookeeper
查看到Kafka的 CONTAINER ID 是 96d83e444a8c
进入到Kafka内部 , 96d83e444a8c是Kafka的 CONTAINER ID ,
进入到opt目录下的kafka_2.13-2.7.0目录,创建topic,创建命令是 bin/kafka-topics.sh —create —zookeeper zookeeper:2181 —replication-factor 1 —partitions 1 —topic test01
然后查看创建列表,命令是bin/kafka-topics.sh —list —zookeeper zookeeper:2181
# 步骤1: 进入到Kafka内部 , 96d83e444a8c是Kafka的 CONTAINER ID
[root@zjj101 docker]# docker exec -it 96d83e444a8c /bin/bash
bash-5.1# ls
bin etc kafka lib64 mnt proc run srv tmp var
dev home lib media opt root sbin sys usr
# 步骤2: 进入到指定的文件夹目录下
bash-5.1# cd /opt/
bash-5.1# ls
kafka kafka_2.13-2.7.0 overrides
bash-5.1# cd kafka_2.13-2.7.0/
#步骤3: 创建一个topic
bash-5.1# bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test01
Created topic test01.
#步骤4: 查看topic列表
bash-5.1# bin/kafka-topics.sh --list --zookeeper zookeeper:2181
test01