美文网首页大数据点滴@IT·大数据部署运维
关于Kafka远程生产和消费的额外说明

关于Kafka远程生产和消费的额外说明

作者: orisonchan | 来源:发表于2018-08-09 23:44 被阅读0次

网上有太多此类帖子,然而本帖比他们全面。

背景

有一台阿里云服务器A,用作测试服务器,一台华为服务器B,用作生产服务器。均搭建相同配置和版本Apache Kafka。现在需远程生产和消费Kafka。在服务器B均无错误,在服务器A死活不通。

问题排查

iptable input和output均打开Kafka端口。

telnet通。

log没有任何报错,就是没接收到。

tcpdump检测两台机器发送的tcp包是一样的。

原因分析

首先,可以肯定网上的说法是没错的。Kafka监听的地址(listeners)和广播的地址(advertised.listeners)是会有默认值的。但是为什么服务器A行不通,服务器B行得通呢?这点目前应该没有文章提到过。就是网卡数量。

华为服务器只有一块网卡,网卡地址是常用局域网地址

192.168.xxx.xxx

所以发送给该服务器的TCP报文会通过路由网关转发到该网卡。无论是外网内网最终都只会指向一个地址。针对此类情况,网上绝大多数文章所说指定监听和广播地址的做法是没有必要的。

而阿里云不同了,阿里云服务器有两块网卡,内网网卡编号eth0,外网网卡编号eth1,如果不指定Kafka配置的地址,默认监听内网网卡eth0,而远程访问一定是访问eth1,则Kafka是绝对监听不到的。所以这类情况需要把配置地址改掉。普遍情况是在两块网卡,远程调用的机器和哪一块网卡处于同一个环境就要把地址换成哪一块网卡的地址。

相关文章

  • 关于Kafka远程生产和消费的额外说明

    网上有太多此类帖子,然而本帖比他们全面。 背景 有一台阿里云服务器A,用作测试服务器,一台华为服务器B,用作生产服...

  • Kafka相关问题

    Kafka远程连接问题 本地Kafka客户端启动正常,可以正常生产消费信息。但是把jar包放在同事电脑上,则出现报...

  • Could not find a 'KafkaClient' e

    Kafka提供了KafkaProducer和KakfaConsumer用于生产和消费数据。0.9之后的kafka集...

  • Kafka生产和消费

    在演示生成与消费消息之前,需要创建一个主题作为消息载体。Kafka提供了需要实用的脚本工具,存放在$KAFKA_H...

  • 【Kafka】Kafka 常用命令

    本篇结构: kafka topic 管理脚本 kafka 生产者控制台 kafka 消费者控制台 kafka 消费...

  • Kafka常用命令

    启动Kafka并生产消费消息 启动ZooKeeper 启动Kafka 查看启动后kafka的版本 生产者发送消息 ...

  • php操作kafka之实例操作(生产者和消费者)

    php操作kafka之实例操作(生产者和消费者) php kafka手册地址 1.生产者 更多例子 2.消费者 更...

  • Python 连接 Kafka 简单实现

    本文参考博客 使用pykafka,kafka-python的api开发kafka生产者和消费者中的 kafka-p...

  • kafka-python初体验

    环境:Windows任务:完成用 kafka-python 库操作 kafka 完成生产和消费Demo 在 Win...

  • kafka低进阶

    1、kafka工作流程 Kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topi...

网友评论

    本文标题:关于Kafka远程生产和消费的额外说明

    本文链接:https://www.haomeiwen.com/subject/zgyhbftx.html