目录
1. 搭建zookeeper
拉取zookeeper的镜像
sudo docker pull wurstmeister/zookeeper
启动zookeeper
sudo docker run \
-d \
--restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name zookeeper \
-p 2181:2181 \
-v /etc/localtime:/etc/localtime \
wurstmeister/zookeeper
2.搭建Kafka
拉取Kafka的镜像
sudo docker pull wurstmeister/kafka
启动Kafka
sudo docker run \
-d \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=公网IP:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://公网IP:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /etc/localtime:/etc/localtime \
wurstmeister/kafka
3.查看是否启动成功
ubuntu@VM-4-6-ubuntu:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
016084d9857a wurstmeister/kafka "start-kafka.sh" 3 days ago Up 3 days 0.0.0.0:9092->9092/tcp, :::9092->9092/tcp kafka
95ce6973f548 wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 3 days ago Up 3 days 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp zookeeper
4.添加topic
进入Kafka容器, 并进入/bin目录下
ubuntu@VM-4-6-ubuntu:~$ sudo docker exec -it kafka /bin/bash
bash-5.1# cd /opt/kafka_2.13-2.8.1/bin/
创建topic
bash-5.1# ./kafka-topics.sh --create --topic test_topic --bootstrap-server localhost:9092
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic exercise_item.
提示topic的名称最好不要包含('.') 或('_'), 但是也可以创建成功
bash-5.1# ./kafka-topics.sh --create --topic item-topic --bootstrap-server localhost:9092
Created topic item-topic.
在创建一个符合命名规范的
查看topic信息
bash-5.1# ./kafka-topics.sh --describe --topic item-topic --bootstrap-server localhost:9092
Topic: item-topic TopicId: 6pFQIfi_QKmnjGGa3yk1Tw PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: item-topic Partition: 0 Leader: 0 Replicas: 0 Isr: 0