先安装zookeeper集群
参考 https://blog.csdn.net/c237821375/article/details/108060676
kafka的docker地址
https://hub.docker.com/r/wurstmeister/kafka
拉取image
docker pull wurstmeister/kafka
生成镜像,一下命令适合单台也适合多台
docker run -d \
-p 19092:9092 \
--name=kafka1 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=106.152.239.39:2111,106.152.239.39:2121,106.152.239.39:2131 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://106.152.239.39:19092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e KAFKA_HEAP_OPTS="-Xmx512M -Xms16M" \
-v /home/kafka/kafka1/logs:/opt/kafka/logs/ \
-v /home/kafka/kafka1/data:/kafka/ \
-v
--privileged wurstmeister/kafka \
docker run -d \
-p 19093:9092 \
--name=kafka2 \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_ZOOKEEPER_CONNECT=106.152.239.39:2111,106.152.239.39:2121,106.152.239.39:2131 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://106.152.239.39:19093 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e KAFKA_HEAP_OPTS="-Xmx512M -Xms16M" \
-v /home/kafka/kafka2/logs:/opt/kafka/logs/ \
-v /home/kafka/kafka2/data:/kafka/ \
--privileged wurstmeister/kafka \
docker run -d \
-p 19094:9092 \
--name=kafka3 \
-e KAFKA_BROKER_ID=2 \
-e KAFKA_ZOOKEEPER_CONNECT=106.152.239.39:2111,106.152.239.39:2121,106.152.239.39:2131 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://106.152.239.39:19094 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e KAFKA_HEAP_OPTS="-Xmx512M -Xms16M" \
-v /home/kafka/kafka3/logs:/opt/kafka/logs/ \
-v /home/kafka/kafka3/data:/kafka/ \
--privileged wurstmeister/kafka \
敲黑板
- -e KAFKA_HEAP_OPTS="-Xmx512M -Xms16M" 是内存占用的大小,默认是-Xmx1G -Xms1G,如果不做设置且安装在一台机器上会造成oom。所以具体设置参考具体需要
- KAFKA_ZOOKEEPER_CONNECT 是zookeeper的集群地址,如果只有一台zookeeper,可以只写一个。
安装完成后
容器中的重要路径
- 用于储存kafka的相关工具配置和日志
- 用于储存主题的分区数据
使用kafka tool链接