Kafka 消费者错误 - xxxx nodename 或 servname 提供,或未知

Kafka Consumer Error - xxxx nodename nor servname provided, or not known

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

$ ~/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

我收到以下错误

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.lookupAllHostAddr(InetAddress.java:901)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
    ... 5 more

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

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

$hostname
HQSML-142453
$

稍微看了下,发现Kafka服务器配置如下

# 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

我更新了它以包含我的主机名,但这似乎没有帮助。关于这里可能出现的问题的任何想法。

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

config: Yosemite, 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