Kafka 消费者错误 - 提供了 xxxx 节点名或服务名,或未知 [英] Kafka Consumer Error - xxxx nodename nor servname provided, or not known

查看:28
本文介绍了Kafka 消费者错误 - 提供了 xxxx 节点名或服务名,或未知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用以下命令运行控制台使用者时

<块引用>

$ ~/project/libs/kafka_2.9.2-0.8.1.1/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic customerevents --autocommit.interval.ms 100 --group customereventsgroup

我收到以下错误

线程main"中的异常 java.net.UnknownHostException: HQSML-142453: HQSML-142453: nodename 或 servname 提供,或未知在 java.net.InetAddress.getLocalHost(InetAddress.java:1473)在 kafka.consumer.ZookeeperConsumerConnector.(ZookeeperConsumerConnector.scala:107)在 kafka.consumer.ZookeeperConsumerConnector.(ZookeeperConsumerConnector.scala:128)在 kafka.consumer.Consumer$.create(ConsumerConnector.scala:89)在 kafka.consumer.ConsoleConsumer$.main(ConsoleConsumer.scala:178)在 kafka.consumer.ConsoleConsumer.main(ConsoleConsumer.scala)引起:java.net.UnknownHostException: HQSML-142453: nodename or servname provided, or not known在 java.net.Inet6AddressImpl.lookupAllHostAddr(本机方法)在 java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)在 java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)在 java.net.InetAddress.getLocalHost(InetAddress.java:1469)……还有 5 个

现在这个命令在连接到工作网络时可以正常工作,但从我的家庭网络运行时就不行了.

检查系统的主机名我确实得到了正确的响应

<块引用>

$hostname
HQSML-142453
$

稍微看了下,发现Kafka服务器配置有以下内容

<块引用>

# 代理将向生产者和消费者通告的主机名.如果未设置,则使用
# 如果配置了host.name"的值.否则,它将使用从
返回的值# java.net.InetAddress.getCanonicalHostName().
Adverted.host.name=HQSML-142453

我更新为包含我的主机名,但这似乎没有帮助.关于这里可能存在什么问题的任何想法.

我知道这是一些与网络接口相关的问题,但无法将其缩小到它的范围.

配置:优胜美地、osx jdk 7、kafka v0.8.1.1

解决方案

请尝试以下操作;

运行

ping HQSML-142453

如果 ping 不起作用,则意味着您没有在 /etc/hosts 或路由器 DNS 中配置主机名.因此,您必须编辑 /etc/hosts 并将您的 HQSML-142453 名称映射到运行 kafka 的 IP 地址,或者将其映射到路由器 DNS 中.

/etc/hosts 中的映射必须如下所示;

127.0.0.1 HQSML-142453

When running the console consumer using the following command

$ ~/project/libs/kafka_2.9.2-0.8.1.1/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic customerevents --autocommit.interval.ms 100 --group customereventsgroup

i get the following error

Exception in thread "main" java.net.UnknownHostException: HQSML-142453: HQSML-142453: nodename nor servname provided, or not known
    at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
    at kafka.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:107)
    at kafka.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:128)
    at kafka.consumer.Consumer$.create(ConsumerConnector.scala:89)
    at kafka.consumer.ConsoleConsumer$.main(ConsoleConsumer.scala:178)
    at kafka.consumer.ConsoleConsumer.main(ConsoleConsumer.scala)
Caused by: java.net.UnknownHostException: HQSML-142453: nodename nor servname provided, or not known
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
    ... 5 more

Now this command worked fine when connected to the work network but not when running from my home network.

Checking the hostname of the system I do get the correct response

$hostname
HQSML-142453
$

After reading a bit, I noticed that the Kafka server configuration has the following

# Hostname the broker will advertise to producers and consumers. If not set, it uses the
# value for "host.name" if configured. Otherwise, it will use the value returned from
# java.net.InetAddress.getCanonicalHostName().
advertised.host.name=HQSML-142453

which i updated to include my hostname but that didn't seem to help. Any ideas on what could be the problem here.

I know this is some networking interface related but cannot narrow it down to what it is.

config: Yosemite, osx jdk 7, kafka v0.8.1.1

解决方案

Try the following;

Run

ping HQSML-142453

If the ping is not working that means you don't have have the hostname configured in /etc/hosts or in your router DNS. So you must either edit the /etc/hosts and map your HQSML-142453 name to the IP address where your kafka is running or map it in your router DNS.

Mapping must look like the following in /etc/hosts;

127.0.0.1  HQSML-142453

这篇关于Kafka 消费者错误 - 提供了 xxxx 节点名或服务名,或未知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆