版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_16829085/article/details/108331951
Docker镜像
使用第三方镜像wurstmeister/kafka-docker
docker-compose.yml
内容如下:
---
version: '2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:5.0.1
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka:
# -----------------------------------------------------------------------------
# For connections _internal_ to the docker network, such as from other services
# and components, use kafka:29092.
#
# See https://rmoff.net/2018/08/02/kafka-listeners-explained/ for details
# -----------------------------------------------------------------------------
image: confluentinc/cp-kafka:5.0.1
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
注意:PLAINTEXT_HOST://localhost:9092,直接在宿主机访问。
运行kafka
1.执行docker-compose up -d
命令,使用docker ps
可以看到启动了一个zookeeper容器和一个kafka容器
2. 多节点。执行docker-compose scale kafka=3
,可以启动三个节点.
运行kafka-topics --version
,可以查看kafka版本
或者运行find / -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
,2.11是指Scala 的版本
测试
-
从上图可以看到启动的容器名为kafka_kafka_1,执行
docker exec -it kafka_kafka_1 /bin/bash
命令进入容器 -
执行
kafka-topics --create --topic topic --partitions 4 --zookeeper $ZK --replication-factor 1
,创建了一个topic
3.执行
kafka-topics --list --zookeeper zookeeper:2181
,查看所有topic
-
命令行发送数据,
kafka-console-producer --broker-list localhost:9092 --topic topic
-
接收数据
kafka-console-consumer --bootstrap-server localhost:9092 --topic topic
文件信息
- 配置文件位于
/etc/kafka
目录下
2.server.properties
文件的配置信息简单展示,如下图所示。