Kafka 2.5.0基于Docker成功部署案例

原创
Crazy 。 发表于: 2020-05-13   最后更新时间: 2020-07-30 16:08:56  
{{totalSubscript}} 订阅, 4,594 游览

zookeeper采用官方版本:3.5.7

docker run -d --cpus 0.5 -m 200M \
--restart always \
-u root \
--name zookeeper \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
-v /etc/localtime:/etc/localtime \
-v /mnt/zookeeper-3.5.7/data:/data \
-v /mnt/zookeeper-3.5.7/log:/datalog \
-v /mnt/zookeeper-3.5.7/conf:/conf \
zookeeper:3.5.7

kafka则使用github使用率较高的wurstmeister/kafka,相对简单,更新到位

docker run --cpus 4 -d -m 4g \
--restart always \
--name kafka-2.5.0 \
-p 9092:9092 \
--link zookeeper \
-e KAFKA_HEAP_OPTS="-Xmx2g -Xms2g" \
-e KAFKA_ZOOKEEPER_CONNECT=172.19.**.**:2181 \
-e KAFKA_ADVERTISED_HOST_NAME=47.100.***.*** \
-e KAFKA_ADVERTISED_PORT=9092 \
-e KAFKA_LOG_RETENTION_BYTES=10737418240 \
-e KAFKA_LOG_RETENTION_HOURS=24 \
-e KAFKA_DELETE_TOPIC_ENABLE=true \
-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
-e KAFKA_LOG_DIRS="/kafka/kafka-logs-2.5.0"
-v /etc/localtime:/etc/localtime \
-v /mnt/kafka-2.5.0:/kafka \
-v /var/run/docker.sock:/var/run/docker.sock \
wurstmeister/kafka:2.12-2.5.0

以上,适用于正式环境,单机版吞吐量可以达到千万级,集群版本,只需要按照官方说明配置多启动几个即可,可以参考docker hub 中的 配置说明进行部署。

更新于 2020-07-30

一直在卷 2年前

kafka的版本和zookeeperd版本 怎么选择呢

松赞干布 3年前

不指定容器的网络吗

走云服务器的话一般只有一个网络,不需要指定。

独爱一篇文 3年前

我创建topic是不是需要进入到容器内部进行创建呢,如果是的话,容器重启,创建的topic是不是丢失呢

创建Topic可以通过代码或者进入容器内部,容器重启不会影响Topic。并且在kafka文件夹下可以看的到。

谢谢您的热心解答

独爱一篇文 3年前

我可以把KAFKA_ADVERTISED_HOST_NAME与KAFKA_ADVERTISED_PORT去掉,换成advertised.listeners吗?advertised.listeners可以写成内网ip吗

advertised.listeners已经弃用了,参见:https://www.orchome.com/500
如果还有问题,到问题专区详细描述下吧,贴上配置。

独爱一篇文 3年前

我想问一下,这样创建容器后,如果容器重启,数据会丢失吗?

不会,数据会持久化在磁盘,不删除kafka和zookeeper的文件夹就行

macOS 4年前

好东西

半兽人 4年前

实用文章,赞~

查看kafka更多相关的文章或提一个关于kafka的问题,也可以与我们一起分享文章