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 -p 2181: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/kafkabitnami/kafka

6.6.2.1.拉取kafka

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

docker pull bitnami/kafka:latest
6.6.2.2.启动kafka容器
docker run -d  --name kafka0 -p 9092:9092 \
 --privileged=true \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.3.251:2181 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.3.251:9092 \
-e ALLOW_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交互模式
docker exec -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表示会消费历史消息,如果不配置,只能消费消费者节点上线之后生产者发送的消息。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Docker容器安装Kafka时,可以按照以下步骤进行操作: 1. 首先,确保已经安装DockerDocker Compose。如果没有安装,请先安装它们。 2. 创建一个新的目录,用于存放Kafka的配置文件和数据。例如,可以创建一个名为"kafka"的目录。 3. 在"kafka"目录下创建一个名为"docker-compose.yml"的文件,并将以下内容复制到文件中: ```yaml version: '3' services: zookeeper: image: confluentinc/cp-zookeeper:6.2.0 environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - "2181:2181" volumes: - ./data/zookeeper:/var/lib/zookeeper/data - ./data/zookeeper/logs:/var/lib/zookeeper/logs kafka: image: confluentinc/cp-kafka:6.2.0 depends_on: - zookeeper environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" ports: - "9092:9092" - "29092:29092" volumes: - ./data/kafka:/var/lib/kafka/data ``` 4. 保存并关闭文件。 5. 打开终端,进入到"kafka"目录。 6. 运行以下命令启动Kafka容器: ``` docker-compose up -d ``` 7. Docker将会下载并启动Kafka和Zookeeper容器。等待一段时间,直到容器启动完成。 现在,你已经成功地使用Docker容器安装Kafka。你可以使用Kafka的客户端工具连接到Kafka服务器,并开始使用它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值