无法从我的localhost连接到Kakfa Server

时间:2018-03-28 10:05:24

标签: apache-kafka

我的Kafka服务器在其他系统上运行。我试图通过提供运行Kafka服务器的机器的代理URL来从我的本地机器运行客户端。但不幸的是,我无法连接到kafka服务器。

server.properties个文件具有以下属性:

    group.initial.rebalance.delay.ms=0
    listeners=SASL_PLAINTEXT://localhost:9093
    advertised.listeners=SASL_PLAINTEXT://localhost:9093
    #advertised.listeners=SASL_PLAINTEXT://10.97.123.52:9093
    security.inter.broker.protocol=SASL_PLAINTEXT
    sasl.mechanism.inter.broker.protocol=PLAIN
    sasl.enabled.mechanisms=PLAIN

从本地计算机运行我的客户端时,我正在传递服务器计算机的代理URL,但无法连接:(。任何人都可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

有点简化,但......客户端首先连接到 bootstrap 服务器以获取元数据。基于该元数据,它将打开与代理的另一个TCP连接,该代理是客户想要与之交谈的主题/分区的领导者。

第一个连接是根据您设置的引导服务器地址完成的。第二个连接从元数据打开到地址。在您的情况下,元数据将包含advertised.listeners字段中的地址,即localhost。因此,客户端将尝试连接到localhost:9093而不是您的经纪人。因此,您需要将advertised.listeners设置为使用代理对客户端可见的地址。 (这可能是您的配置示例中注释掉的行?)

您还要将listener字段设置为仅在localhost上收听。因此无法从外部IP地址访问它。您必须更改它以侦听外部IP地址。最可能将其设置为以下值(即没有localhost)应该有所帮助:

listeners=SASL_PLAINTEXT://:9093