在创建生产者时,我必须指定代理端口值。
为此,我需要在"server.properties"文件中配置代理端口值。
这些"listener"one_answers"advanced.listeners"参数是什么,以及如何将它们配置为代理端口?
如果代理端口值是必需的,那么为什么这些参数有注释?
如果这些参数是从"java.net.InetAddress.getCanonicalHostName(("自动初始化的,那么在创建新生产者时,我如何指定那些自动初始化的端口值?
谢谢。
############################# 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://:9092
# Hostname and port the broker will advertise to producers and consumers. If not set,
# it uses the value for "listeners" if configured. Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
#advertised.listeners=PLAINTEXT://your.host.name:9092
如果不设置advertised.listeners
,则默认情况下与listeners
相同。
listeners
用于内部网络IP,advertised.listeners
用于外部网络IP。如果您只需要在内部使用Kafka,那么您只需要配置listeners
。
listeners
是套接字服务器实际绑定的参数((。CCD_ 7将存储在zk中。
在内部网络中,您可以使用192.168.0.10连接Kafka Broker。通过外部网络,所以您应该配置advertised.listeners
# inside network IP, like that
listeners=PLAINTEXT://192.168.0.10:9092
# Public network ip, so you can connect the broker in any network
advertised.listeners=PLAINTEXT://xxx.xxx.xxx.xxx:9092
其他:参数值的格式为(协议名(://(主机名或ip(:(端口号(
协议名称PLAINTEXT
表示明文传输,
协议名称SSL
表示使用SSL或TLS加密传输等
为什么这些参数有注释?
正如评论所说,他们有默认的
如果这些参数是从"java.net.InetAddress.getCanonicalHostName(("自动初始化的,那么在创建新生产者时,我如何指定那些自动初始化的端口值?
默认端口为9092,因此您应该在端口9092上连接到该ip/主机名。
这些"listener"one_answers"advanced.listeners"参数是什么
https://www.confluent.io/blog/kafka-listeners-explained/