Docker安装kafka

安装

# 拉取镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

# 启动zookeeper容器(Zookeeper用于崩溃检测,实现Topic发现,和维护Topic的生产和消费状态)
docker run -t -d -p 2181:2181 --name zookeeper wurstmeister/zookeeper

# 启动kafka容器
docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.0.253:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.253:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

这里面主要设置了4个参数,根据自己的机子Ip进行修改即可

KAFKA_BROKER_ID=0               
KAFKA_ZOOKEEPER_CONNECT={主机IP}:2181
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://{主机IP}:9092
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092

中间两个参数的 {主机IP} 改为宿主机器的IP地址(服务器改为服务器外网ip),如果不这么设置,可能会导致在别的机器上访问不到kafka。最后的0.0.0.0:9092 无需修改。

测试

# docker exec -it kafka /bin/bash 
bash-4.4# cd
/opt/kafka/bin
bash-4.4# ls
connect-distributed.sh               kafka-producer-perf-test.sh
connect-mirror-maker.sh              kafka-reassign-partitions.sh
connect-standalone.sh                kafka-replica-verification.sh
kafka-acls.sh                        kafka-run-class.sh
kafka-broker-api-versions.sh         kafka-server-start.sh
kafka-configs.sh                     kafka-server-stop.sh
kafka-console-consumer.sh            kafka-streams-application-reset.sh
kafka-console-producer.sh            kafka-topics.sh
kafka-consumer-groups.sh             kafka-verifiable-consumer.sh
kafka-consumer-perf-test.sh          kafka-verifiable-producer.sh
kafka-delegation-tokens.sh           trogdor.sh
kafka-delete-records.sh              windows
kafka-dump-log.sh                    zookeeper-security-migration.sh
kafka-leader-election.sh             zookeeper-server-start.sh
kafka-log-dirs.sh                    zookeeper-server-stop.sh
kafka-mirror-maker.sh                zookeeper-shell.sh
kafka-preferred-replica-election.sh

# 创建topic
./kafka-topics.sh --zookeeper 192.168.0.253:2181 --create --topic app --partitions 2 --replication-factor 1

# 查看topic
./kafka-topics.sh --zookeeper 192.168.0.253:2181 --list

# 生产消息
bash-4.4# ./kafka-console-producer.sh --broker-list 192.168.0.253:9092 --topic app

# 消费消息
bash-4.4# ./kafka-console-consumer.sh --bootstrap-server 192.168.0.253:9092 --topic app --from-beginning
posted @   哈喽哈喽111111  阅读(361)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2019-11-05 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库
2019-11-05 解决跟Docker私有仓库登陆,推送,拉取镜像出现的报错
2019-11-05 Linux 内存占用大排查
2016-11-05 实现让用户不断的猜年龄,但只给最多3次机会,超过次数猜不对就退出程序。
点击右上角即可分享
微信分享提示