Hello everyone,

I am trying to setup a MirrorMaker between my company's local cluster and
another cluster in AWS to have replication over clusters. We have setup a
VPN between these two clusters, and as far as I can see, everything works
correctly, meaning that I can ping the nodes and telnet into them without
any issues.

Now, when I run the following command in the local cluster to use a
Zookeeper instance located in AWS (10.1.83.6:2181), in order to read a
topic "test"

~/kafka_2.11-0.8.2.2$ ./bin/kafka-console-consumer.sh --zookeeper
10.1.83.6:2181 --topic test --from-beginning

A bunch of errors comes up:

WARN Fetching topic metadata with correlation id 1 for topics [Set(test)]
from broker [id:2,host:ip-10-1-83-5.ec2.internal,port:9092] failed
(kafka.client.ClientUtils$)
java.nio.channels.ClosedChannelException
    at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)
    at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:73)
    at
kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:72)
    at kafka.producer.SyncProducer.send(SyncProducer.scala:113)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:58)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:93)
    at
kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:66)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60)
WARN Fetching topic metadata with correlation id 1 for topics [Set(test)]
from broker [id:3,host:ip-10-1-83-6.ec2.internal,port:9092] failed
(kafka.client.ClientUtils$)

As far as I know, this is due to the fact that Zookeeper has registered an
IP/Port for each Kafka instance and these need to be consistent with the
producer configuration, as described here (
https://cwiki.apache.org/confluence/display/KAFKA/FAQ).

I tried to search on the web, and some people were recommending to change
the setting "advertised.host.name" to be either the public IP address
coming from AWS (we cannot) or a specific hostname. Now, considering that
we have a VPN between the clusters, the only choice left seems to be the
one setting the hostname.

What should this value be? Is there anything else I need to know for this
kind of setup? Any suggestions?

Thanks in advance.

Kind regards,
Marco

Reply via email to