0


Docker ( 五 ) 安装 Kafka

6.6.安装 Kafka

6.6.1.安装zookeeper

要先安装 zookeeper 再安装kafka

6.6.1.1.拉取zookeeper

docker pull wurstmeister/zookeeper

6.6.1.2.启动容器

docker run -d--name zookeeper -p2181:2181  \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2\--restart=always \-v /etc/localtime:/etc/localtime \
wurstmeister/zookeeper

6.6.2.安装kafka

安装kafka:目前kafka的docker镜像主要是两个版本:

wurstmeister/kafka

bitnami/kafka 

6.6.2.1.拉取kafka

本次选用的是后者 bitnami/kafka 。

docker pull bitnami/kafka:latest

6.6.2.2.启动kafka容器

docker run -d--name kafka0 -p9092:9092 \--privileged=true \-eKAFKA_BROKER_ID=0\-eKAFKA_ZOOKEEPER_CONNECT=192.168.3.251:2181 \-eKAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \-eKAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.3.251:9092 \-eALLOW_PLAINTEXT_LISTENER=yes \
bitnami/kafka:latest

参数解释:

-d :后台运行
– name 当前容器的名字。
-p:暴露端口,-p 9092:9092 将容器内部的9092端口映射到宿主机的端口上。
–privileged:使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。KAFKA_BROKER_ID : broker的ID,这个ID是集群的标识,不能重复。
KAFKA_ZOOKEEPER_CONNECT:zookeeper的连接地址
KAFKA_LISTENERS:标识kafka服务运行在容器内的9092端口,因为没有指定host,所以是0.0.0.0标识所有的网络接口。
KAFKA_ADVERTISED_LISTENERS:kafka发布到zookeeper供客户端使用的服务地址。
ALLOW_PLAINTEXT_LISTENER :允许使用PLAINTEXT侦听器。

6.6.3.进入容器

6.6.3.1.进入kafka交互模式

dockerexec-it kafka0 /bin/bash

6.6.3.2.跳转到kafka目录

kafka的各个脚本都在:

/opt/bitnami/kafka/bin

下面, 转到这个目录

cd /opt/bitnami/kafka/bin

6.6.3.3.创建topic

./kafka-topics.sh --create --topic test-kafka0 --replication-factor 1 --partitions 1 --bootstrap-server 192.168.3.251:9092

参数解释

–create 表示创建
–topic 指定主题名称
–replication-factor 指定副本数
–partitions 指定分区数
–bootstrap-server 连接kafka服务器

6.6.3.4.查看topic列表

./kafka-topics.sh --list --bootstrap-server 192.168.3.251:9092

查看topic列表 , 会列出已经创建的topic

kafka-topics.sh --describe--topic test-kafka0 --bootstrap-server 192.168.3.251:9092

–describe 表示查看描述信息

6.6.3.5.生产者生产消息

kafka-console-producer.sh --topic test-kafka0 --bootstrap-server 192.168.3.251:9092

在打开的界面输入信息

6.6.3.6.消费者消费消息

打开一个界面, 再次进入容器交互模式

kafka-console-consumer.sh --topic test-kafka0 --from-beginning --bootstrap-server 192.168.3.251:9092

其中,

--from-beginning

表示会消费历史消息,如果不配置,只能消费消费者节点上线之后生产者发送的消息。

标签: kafka docker java

本文转载自: https://blog.csdn.net/yuanchun05/article/details/128423824
版权归原作者 春哥的魔法书 所有, 如有侵权,请联系我们删除。

“Docker ( 五 ) 安装 Kafka”的评论:

还没有评论