【Kafka】外部网络访问内部Kafka集群


本博客文章如无特别说明,均为原创!转载请注明出处:Big data enthusiast(http://www.lubinsu.com/)

本文链接地址:【Kafka】外部网络访问内部Kafka集群(http://www.lubinsu.com/index.php/archives/206)

    大数据平台服务器处于两个网络中,其中内部网络用来进行数据交换和计算,配置万兆光纤网卡和光纤交换机;外部网络用来为其他部门提供服务、数据接口,这里使用的是千兆网络。Kafka的broker集群处于内部网络中,而外部网络需要订阅消费kafka中的留数据,就需要访问内网。这里我们需要添加接个配置以使kafka能够通过外网来访问:

    我们先来看下Kafka几个参数的解释:

advertised.host.name Hostname to publish to ZooKeeper for clients to use. In IaaS environments, this may need to be different from the interface to which the broker binds. If this is not set, it will use the value for "host.name" if configured. Otherwise it will use the value returned from java.net.InetAddress.getCanonicalHostName().

host.name

hostname of broker. If this is set, it will only bind to this address. If this is not set, it will bind to all interfaces

listeners

Listener List – Comma-separated list of URIs we will listen on and their protocols. Specify hostname as 0.0.0.0 to bind to all interfaces. Leave hostname empty to bind to default interface. Examples of legal listener lists: PLAINTEXT://myhost:9092,TRACE://:9091 PLAINTEXT://0.0.0.0:9092, TRACE://localhost:9093

    从官方的解释上,我们可以知道:

    1.要使远程客户端和broker通信的时候指向正确的主机那么就需要指定advertised.host.name=bigdata3参数,这里bigdata3需要配置到hosts中

    2.要使broker指向正确的网卡地址,那么我们就需要指定host.name=192.168.168.3,让broker之间通信使用内部网络

    3.另外我们需要配置kafka监听所有的网卡:listeners=PLAINTEXT://0.0.0.0:9092

One thought on “【Kafka】外部网络访问内部Kafka集群

发表评论

电子邮件地址不会被公开。 必填项已用*标注