获取两镜像:

docker pull zookeeper 

docker pull kafka

执行简单命令:

zookeeper :

 docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime -v /root/docker/zookeeper/data/:/data/  zookeeper

kafka:

docker run -d --name kafka-server \
	-p 9092:9092  \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=xx.xxx.xxx.xx:2181 \
    -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xx.xxx.xxx.xx:9092  \
    bitnami/kafka

官网也有安装方式

Docker Hub

遇到的问题:

WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 3 : {first=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
 解决:

docker exec -u 0 -it kafka-server /bin/bash

vim /opt/bitnami/kafka/config/server.properties

打开kafka的配置文件server.properties,修改:
listeners=PLAINTEXT://loclahost:9092

#### localhost就是本机IP或者映射

重启kafka。

kafka3.0创建topic出现zookeeper is not a recognized option

原来新版本的kafka,已经不需要依赖zookeeper来创建topic,新版的kafka创建topic指令为下

#### 在容器kafka 目录bin下执行(  cd /opt/bitnami/kafka/bin/   )

###创建topic   test1 指令:

./kafka-topics.sh  --create --bootstrap-server xxx.xxx.xxx.xxx:9092 --replication-factor 1 --partitions 1 --topic test1

### 创建生产者

./kafka-console-producer.sh --broker-list xxx.xxx.xxx.xxx:9092 --topic test1

### 创建消息者

./kafka-console-consumer.sh --bootstrap-server xxx.xxx.xxx.xxx:9092  --topic test1 --from-beginning

#### 查询topic 

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

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐