当前位置: 首页 > news >正文

win10 docker zookeeper和kafka搭建

好久没用参与大数据之类的开发了,近日接触到一个项目中使用到kafka,因此要在本地搭建一个简易的kafka服务。时间比较紧急,之前有使用docker的经验,因此本次就使用docker来完成搭建。在搭建过程中出现的一些问题,及时记录,以便后期再遇见。

环境

  • 计算机环境:win10 22H2

  • docker Version:4.13.1 (90346)

zookeeper和kafka搭建

由于zookeeper与kafka是集群性质的,本次使用的目的简单就是开发一个Topic 生产者,然后通过消费者进行验证

zookeeper与kafka(理论知识后期补充吧)

zookeeper镜像下载

docker pull wurstmeister/zookeeper

kafka镜像的下载

docker pull wurstmeister/kafka

搭建网桥

docker network create kafka-network

启动zookeeper

docker run -d --name zookeeper --network kafka-network -p 2181:2181 wurstmeister/zookeeper

启动kafka

 docker run -d --name kafka --network kafka-network -p 9092:9092   -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181   -e KAFKA_LISTENERS=PLAINTEXT://kafka:9092   -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092  wurstmeister/kafka

查看IP地址

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'  kafka    

由于使用的是网桥,可以通过服务的名称来描述ip。

kafka 日志中报错

WARN [Producer clientId=console-producer] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient) 警告可能是由于 Kafka 代理(broker)未正确配置或者未正确运行导致的 或者 WARN [Controller id=1001, targetBrokerId=1001] Connection to node 1001 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient) 警告 Kafka 控制器(Controller)无法与本地主机的 Kafka 代理建立连接

解决办法

上述警告,Kafka 消费者无法连接到本地主机的 Kafka 代理(broker),经过检查,发现当时PLAINTEXT://kafka:9092 配置错误,引用的是PLAINTEXT://localhost:9092。 修改PLAINTEXT://localhost:9092 ----> PLAINTEXT://kafka:9092 最终完美解决

在本地操作kafka报错

%3|1711527992.579|FAIL|rdkafka#producer-1| [thrd:kafka:9092/1002]: kafka:9092/1002: Failed to resolve 'kafka:9092': 不知道这样的主机。 (after 2269ms in state CONNECT) %3|1711527992.579|ERROR|rdkafka#producer-1| [thrd:app]: rdkafka#producer-1: kafka:9092/1002: Failed to resolve 'kafka:9092': 不知道这样的主机。 (after 2269ms in state CONNECT) %3|1711527993.640|FAIL|rdkafka#producer-1| [thrd:kafka:9092/1002]: kafka:9092/1002: Failed to resolve 'kafka:9092': 不知道这样的主机。 (after 48ms in state CONNECT, 1 identical error(s) suppressed) %3|1711527993.640|ERROR|rdkafka#producer-1| [thrd:app]: rdkafka#producer-1: kafka:9092/1002: Failed to resolve 'kafka:9092': 不知道这样的主机。 (after 48ms in state CONNECT, 1 identical error(s) suppressed)

解决办法

这个错误是由于程序无法解析主机名 "kafka:9092" 导致的。所以我想到改网络,通过ip与域名的配置。由于是win10系统所有需要修改:C:\Windows\System32\drivers\etc\hosts 文件末尾加上

127.0.0.1   zookeeper
127.0.0.1   kafka
http://www.lryc.cn/news/326641.html

相关文章:

  • 【Redis】快速入门 数据类型 常用指令 在Java中操作Redis
  • 【tingsboard开源平台】下载数据库,IDEA编译,项目登录
  • Web3:探索区块链与物联网的融合
  • [BT]BUUCTF刷题第9天(3.27)
  • html页面使用@for(){},@if(){},利用jquery 获取当前class在列表中的下标
  • pulsar: 批量接收消息
  • LNMP架构之mysql数据库实战
  • aws使用记录
  • 区块链食品溯源案例实现(二)
  • RabbitMQ(简单模式)
  • ES集群部署的注意事项
  • Etcd 基本入门
  • PPT没保存怎么恢复?3个方法(更新版)!
  • DBeaver修改sql语句保存位置
  • LabVIEW2024中文版软件安装包、工具包、安装教程下载
  • 对AOP的理解
  • C 指针数组
  • 算法系列--动态规划--背包问题(1)--01背包详解
  • 【KB】通过Karabiner-Elements实现 optionTAB与 commandTAB 对调/映射 win 的 altTAB 习惯
  • nvm node包管理工具
  • 程序员如何兼职赚小钱?
  • 奥比中光深度相机(一):环境配置
  • API网关-Apisix路由配置教程(数据编辑器方式)
  • Transformer的前世今生 day10(Transformer编码器
  • 【c++模板】泛型编程(你真的懂模版特化、分离编译和非类型参数吗)
  • 力扣1----10(更新)
  • [Qt] QString::fromLocal8Bit 的使用误区
  • 什么是RabbitMQ的死信队列
  • 力扣面试150 删除有序数组中的重复项 双指针
  • 政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(二)—— 深度神经网络