apache-kafka - 经纪人不可用
问题描述
到 /etc/kafka/server.properties 使用以下方式配置代理:
############################# Server Basics #############################
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0
############################# Socket Server Settings #############################
# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
# FORMAT:
# listeners = listener_name://host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://<MY_HOST_NAME>:9092,SASL_SSL://<MY_HOST_NAME>:9093
要检查我运行的经纪人:
/opt/confluent-kafka/v5.5.0/bin/zookeeper-shell localhost:2181 ls /brokers/ids
返回:
Connecting to localhost:2181
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[]
因此,经纪人似乎没有运行。由于 kafka server.properties(above) 包含:
listeners=PLAINTEXT://<MY_HOST_NAME>:9092,SASL_SSL://<MY_HOST_NAME>:9093
经纪人不应该有空吗?
我的理解是listeners=PLAINTEXT://<MY_HOST_NAME>:9092,SASL_SSL://<MY_HOST_NAME>:9093
允许经纪人访问的配置?
解决方案
我假设连接在同一主机内(此处不涉及广告侦听器或外部客户端)。更改 listeners 属性以使代理侦听所有接口:
listeners=PLAINTEXT://0.0.0.0:9092,SASL_SSL://0.0.0.0:9093
如果您将您设置<hostname>
为侦听器,localhost
则不会被识别为有效的绑定点:没有注册的“ localhost
”侦听器,只有您的配置中指定的侦听器,<hostname>
.
通过设置0.0.0.0
为侦听器,代理将绑定到所有接口,因此接受localhost
为有效端点。您可以在此处找到有关此的更多信息。
推荐阅读
- ios - 为什么我们不再看到 ios 应用设置页面?
- c++ - 错误没有匹配函数调用'slice_matrix'的互相关函数+ Sycl
- c++ - 抛出后不需要返回 - 标准或编译器特定?
- c# - 异步任务,视频缓冲
- java - 使用 doThrow() 不会抛出像 doThrow(null, NullPointerException.class) 这样的异常
- mysql - 在离子段中获取动态数据时如何删除空列?
- pandas - 将日期和时间列转换为时间戳
- jmeter - 如何从 Json 中提取值,其中多个子对象为单位,并且只需要提取特定值
- reactjs - 尝试将 React JS new Date() 输出转换为 date-fns formatISO
- php - 带有日期时间/反序列化的 Symfony 序列化实体失败