Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to change Kafka broker list ip

Tags:

apache-kafka

I have 3 Kafka brokers running in a isolated network region, my client can not connect them directly, so I have to use a VIP(virtual ip) to connect the brokers.

For example:

my brokers' IP are: 10.5.1.5, 10.5.1.6, 10.5.1.7,

my VIPs' ip are: 200.100.1.5, 200.100.1.6, 200.100.1.7, they one to one paired.

So when I indicate the bootstrap list as 200.100.1.5, the cluster response me the mixed VIPs and Broker ips, such as: 10.5.1.5, 10.5.1.6, 200.100.1.5, 200.100.1.6 ..., then the connection failed, because my program can not reach broker's ip, only can reach VIPs.

My current configuration as following, it responses both IP and VIP:

listeners=INTERNAL://:9092,EXTERNAL_PLAINTEXT://:8080

advertised.listeners=EXTERNAL_PLAINTEXT://200.100.1.5:8080,INTERNAL://10.5.1.5:9092

listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT

inter.broker.listener.name=INTERNAL

How can I let Kafka only response the VIP list please.

I've got the answer, it could be the following:

advertised.listeners=PLAINTEXT://200.100.1.5:8080
listeners=PLAINTEXT://10.5.1.5:9092
And remove the listener.security and inter.broker.
like image 943
Jack Avatar asked Apr 08 '18 22:04

Jack


People also ask

How do I change the broker port in Kafka?

The default listen port is 2181. You can change this port by changing clientPort . The default data directory is /tmp/data. Change this, as you will not want ZooKeeper's data to be deleted after some random timeframe.

How do I change config in Kafka?

Many config settings in Kafka are static and are wired through the properties file. However, there are several settings that you can change per topic. These settings can be changed dynamically using the <path-to-confluent>/bin/kafka-configs tool without having to restart the brokers.

How do I get a list of Kafka brokers?

There are 2 ways to get the list of available brokers in a Kafka cluster. Both with the help of scripts from zookeeper. Zookeeper manages the leader election and other coordination things for a Kafka cluster. So Zookeeper has a list of all the Kafka brokers in the cluster.

Where is Kafka broker config file?

The Kafka configuration files are located at the /opt/bitnami/kafka/config/ directory.


1 Answers

You can use the broker setting called advertised.listeners to tell your brokers to include a different IP/hostname in their response to clients.

advertised.listeners:

Listeners to publish to ZooKeeper for clients to use, if different than the listeners config property. In IaaS environments, this may need to be different from the interface to which the broker binds. If this is not set, the value for listeners will be used. Unlike listeners it is not valid to advertise the 0.0.0.0 meta-address.

In your example, for the first broker you can have:

advertised.listeners=PLAINTEXT://200.100.1.5:9092
listeners=PLAINTEXT://10.5.1.5:9092
like image 85
Mickael Maison Avatar answered Jan 07 '23 03:01

Mickael Maison