Skip to content
This repository was archived by the owner on Nov 6, 2018. It is now read-only.
This repository was archived by the owner on Nov 6, 2018. It is now read-only.

Kafka service is not working with Kafka Java Client (advertised.host.name issue) #545

@ilterpehlivan

Description

@ilterpehlivan

Hi,

I tried to use kafka with my Java Client and got following error:

2017-02-06 21:05:10.798 DEBUG 1 --- [ad | producer-1] o.a.k.clients.producer.internals.Sender : Starting Kafka producer I/O thread.
2017-02-06 21:05:10.803 INFO 1 --- [ main] o.a.kafka.common.utils.AppInfoParser : Kafka version : 0.10.0.0
2017-02-06 21:05:10.804 INFO 1 --- [ main] o.a.kafka.common.utils.AppInfoParser : Kafka commitId : b8642491e78c5a13
2017-02-06 21:05:10.805 DEBUG 1 --- [ main] o.a.k.clients.producer.KafkaProducer : Kafka producer started
2017-02-06 21:05:10.907 WARN 1 --- [ main] o.h.v.m.ParameterMessageInterpolator : HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
2017-02-06 21:05:11.887 INFO 1 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-02-06 21:05:11.923 INFO 1 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 0
***Writing message to Topic:iot-devices-topic-v2 - *****
2017-02-06 21:05:12.394 TRACE 1 --- [ main] o.a.k.clients.producer.KafkaProducer : Requesting metadata update for topic iot-devices-topic-v2.
2017-02-06 21:05:12.396 DEBUG 1 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : Initialize connection to node -1 for sending metadata request
2017-02-06 21:05:12.397 DEBUG 1 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : Initiating connection to node -1 at kafka:9092.
2017-02-06 21:05:12.408 DEBUG 1 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node--1.bytes-sent
2017-02-06 21:05:12.410 DEBUG 1 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node--1.bytes-received
2017-02-06 21:05:12.412 DEBUG 1 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node--1.latency
2017-02-06 21:05:12.412 DEBUG 1 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : Completed connection to node -1
2017-02-06 21:05:12.451 DEBUG 1 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : Sending metadata request {topics=[iot-devices-topic-v2]} to node -1
2017-02-06 21:05:12.473 DEBUG 1 --- [ad | producer-1] org.apache.kafka.clients.Metadata : Updated cluster metadata version 2 to Cluster(nodes = [0.0.0.0:9092 (id: 1001 rack: null)], partitions = [Partiti
on(topic = iot-devices-topic-v2, partition = 0, leader = 1001, replicas = [1001,], isr = [1001,]])
2017-02-06 21:05:12.477 TRACE 1 --- [ main] o.a.k.clients.producer.KafkaProducer : Sending record ProducerRecord(topic=iot-devices-topic-v2, partition=null, key=null, value={"id":"Test-0","userId"
:"TestUser","method":"CREATE","resource":"DEVICE_TYPE","body":null,"extensions":null}, timestamp=null) with callback null to topic iot-devices-topic-v2 partition 0
2017-02-06 21:05:12.478 TRACE 1 --- [ main] o.a.k.c.p.internals.RecordAccumulator : Allocating a new 16384 byte message buffer for topic iot-devices-topic-v2 partition 0
2017-02-06 21:05:12.493 TRACE 1 --- [ main] o.a.k.clients.producer.KafkaProducer : Waking up the sender since topic iot-devices-topic-v2 partition 0 is either full or getting a new batch
2017-02-06 21:05:12.494 DEBUG 1 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : Initiating connection to node 1001 at 0.0.0.0:9092.
2017-02-06 21:05:12.495 DEBUG 1 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node-1001.bytes-sent
2017-02-06 21:05:12.495 DEBUG 1 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node-1001.bytes-received
2017-02-06 21:05:12.496 DEBUG 1 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics : Added sensor with name node-1001.latency
2017-02-06 21:05:12.503 DEBUG 1 --- [ad | producer-1] o.apache.kafka.common.network.Selector : Connection with /0.0.0.0 disconnected

java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_101]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_101]
at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:51) ~[kafka-clients-0.10.0.0.jar!/:na]
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:73) ~[kafka-clients-0.10.0.0.jar!/:na]
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:309) [kafka-clients-0.10.0.0.jar!/:na]
at org.apache.kafka.common.network.Selector.poll(Selector.java:283) [kafka-clients-0.10.0.0.jar!/:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:260) [kafka-clients-0.10.0.0.jar!/:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:229) [kafka-clients-0.10.0.0.jar!/:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:134) [kafka-clients-0.10.0.0.jar!/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]

Resolution:

I changed the server.properties in kafka Docker as:

host.name=0.0.0.0

advertised.host.name=kafka

Then I rebuild the image and deployed my kubernetes it worked fine.

Suggestion: Is it possible to make this as parameter from the Environment variables ?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions