0
我有一个构建kafka生产者和主机名的问题。 这是我所做的。Apache Kafka - DNS解析在bootstrap.servers中的url失败(构建kafka生产者失败)
1)I的host.name,端口的配置设置为server.properties
listeners=PLAINTEXT://192.168.0.102:9092
port=9092
host.name=server002.sep.com
2)I添加主机ip和别名到/etc/hosts中
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.102 server002.sep.com
3)使用iptables设置防火墙
-A INPUT -p tcp -m tcp --dport 3888 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2888 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2181 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9092 -j ACCEPT
4)我用下面的配置构建生产者。 我设置了“主机名:端口”而不是“IP:端口”。
props = new Properties();
**props.put("bootstrap.servers", "server002.sep.com:9092");
props.put("acks", "0");
props.put("retries", "0");
运行生产者时发生异常。 这里是错误日志。 我不明白为什么不能构建卡夫卡制片人。 请检查它。 :)
Exception in thread "main" org.apache.kafka.common.KafkaException: **Failed to construct kafka producer**
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:321)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:181)
at com.lgcns.sep.kafka.producer.MessageSender.createProducer(MessageSender.java:47)
at com.lgcns.sep.kafka.producer.MessageSender.getInstance(MessageSender.java:22)
at com.lgcns.jartest.producerTest.main(producerTest.java:27)
Caused by: org.apache.kafka.common.config.ConfigException: **DNS resolution failed for url in bootstrap.servers**: server002.sep.com:9092
at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:49)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:269)
... 4 more