使用docker安装kafka(结合ZK)

docker安装Kafka(结合ZK)

一、docker安装zookeeper

由于kafka需要依赖于zookeeper,因此这里先运行zookeeper

1.拉取zookeeper镜像
docker pull wurstmeister/zookeeper
2.启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -e TZ="Asia/Shanghai" --restart always wurstmeister/zookeeper
3.查看zookeeper的启动信息
docker logs -f zookeeper

在这里插入图片描述

二、拉取Kafka

1、拉取镜像
docker pull wurstmeister/kafka
2.启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=<这里换成你的zookeeper地址和端口> -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://<这里换成你的kafka地址和端口> -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e TZ="Asia/Shanghai" wurstmeister/kafka

启动环境变量参数说明

变量描述
KAFKA_BROKER_IDkafka集群中每个kafka都有一个BROKER_ID来区分自己
KAFKA_ADVERTISED_LISTENERSkafka的地址和端口,用于向zookeeper注册
KAFKA_ZOOKEEPER_CONNECTzookeeper地址
KAFKA_LISTENERSkafka监听端口
TZ容器时区改为上海
3.验证kafka是否可以使用
进入容器
docker exec -it kafka /bin/sh

进入路径:/opt/kafka_2.13-2.7.0/bin下

运行kafka生产者发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

发送消息

在这里插入图片描述

另开窗口消费者消费消息

在这里插入图片描述

三、安装kafka-manager

1.拉取镜像
docker pull sheepkiller/kafka-manager
2.启动kafka-manager
docker run -d --name kfk-manager --restart always -p 9000:9000 -e ZK_HOSTS=<这里换成你的zookeeper地址和端口> sheepkiller/kafka-manager

在这里插入图片描述

启动后通过地址访问:<你的manager运行地址>:9000

在这里插入图片描述

点击Cluster->Add Cluster->填写zookeeper地址便可看到如下:

在这里插入图片描述

四、关键点

进入zookeeper容器内,可以看到kafka注册信息

docker exec -it zookeeper /bin/sh

在这里插入图片描述

运行zkCli.sh进入zookeeper客户端,可观察到

在这里插入图片描述

查看注册的kafka目录,
ls /kafka/brokers/topics/sun/partitions 

可看到创建的topic为test的partitions信息

在这里插入图片描述

get命令会显示该节点的节点数据内容和属性信息

在这里插入图片描述

ls2命令会显示该节点的子节点信息和属性信息

在这里插入图片描述

创建Topic
通过命令行创建topic和partitions
kafka-topics.sh --create --zookeeper 192.168.1.4:2181/kafka --topic topic-test1 --replication-factor 1 --partitions 2

在这里插入图片描述

删除Topic
若 delete.topic.enable=true 直接彻底删除该 Topic。

若 delete.topic.enable=false
如果当前 Topic 没有使用过即没有传输过信息:可以彻底删除。
如果当前 Topic 有使用过即有过传输过信息:并没有真正删除 Topic 只是把这个 Topic 标记为删除(marked for deletion),重启 Kafka Server 后删除。

我的kafka版本是最新的,在service.config文件中是找不到delete.topic.enable=true,系统默认是true.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值