The producer used 208.39.105.14:9092 to get the metadata, which was successful. The metadata indicates that the producer should send messages to the broker at address kafka.icare.com:9092, which was unsuccessful. The problem may be item #2 listed in http://kafka.apache.org/faq.html
Thanks, Jun On Fri, Jan 11, 2013 at 8:15 AM, Jason Huang <jason.hu...@icare.com> wrote: > Hello, > > I am testing the producer to send a message from my local PC to a > remote Kafka server with 0.8.0 installed. However, I was only able to > create the log file with that specific topic but not able to write any > message to the log file. > > Here is what the log from the kafka server: > > [2013-01-11 10:43:59,787] INFO [KafkaApi-1] Auto creation of topic > topic_227 with 1 partitions and replication factor 1 is successful! > (kafka.server.KafkaApis) > [2013-01-11 10:43:59,789] INFO [TopicChangeListener on Controller 1]: > New topics: [Set(topic_227)], deleted topics: [Set()], new partition > replica assignment [Map([topic_227,0] -> List(1))] > (kafka.controller.PartitionStateMachine$TopicChangeListener) > [2013-01-11 10:43:59,789] INFO [Controller 1]: New topic creation > callback for [topic_227,0] (kafka.controller.KafkaController) > [2013-01-11 10:43:59,790] INFO [Controller 1]: New partition creation > callback for [topic_227,0] (kafka.controller.KafkaController) > ....... > [2013-01-11 10:43:59,830] INFO [Log Manager on Broker 1] Created log > for topic topic_227 partition 0 in /opt/kafka-0.8.0/data/kafka-logs. > (kafka.log.LogManager) > [2013-01-11 10:43:59,831] WARN No previously checkpointed > highwatermark value found for topic topic_227 partition 0. Returning 0 > as the highwatermark (kafka.server.HighwaterMarkCheckpoint) > [2013-01-11 10:43:59,831] INFO Replica Manager on Broker 1: Completed > the leader state transition for topic topic_227 partition 0 > (kafka.server.ReplicaManager) > [2013-01-11 10:43:59,831] INFO Replica Manager on Broker 1: Completed > leader and isr request LeaderAndIsrRequest(0,0,,1000,Map((topic_227,0) > -> PartitionStateInfo(LeaderIsrAndControllerEpoch({ > "ISR":"1","leader":"1","leaderEpoch":"0" > },6),1)),Set(id:1,host:kafka.icare.com,port:9092),6) > (kafka.server.ReplicaManager) > [2013-01-11 10:43:59,959] INFO Closing socket connection to > /173.162.***.** (kafka.network.Processor) > > So at this point there is a folder created on the server in the /logs > directory named after the topic and partition: /logs/topic_227-0 > And there are two files inside: > -rw-r--r--. 1 root root 10485760 Jan 11 10:43 00000000000000000000.index > -rw-r--r--. 1 root root 0 Jan 11 10:43 00000000000000000000.log > > > However, the content of the actual message was not written to the .log > file. I couldn't find any error in the kafka server log. However, from > my JBoss log I see the following error: > > 10:47:11,554 INFO [kafka.client.ClientUtils$] > (http-localhost-127.0.0.1-8080-2) Fetching metadata for topic > Set(topic_227) > 10:47:11,568 INFO [kafka.producer.SyncProducer] > (http-localhost-127.0.0.1-8080-2) Connected to 208.39.***.**:9092 for > producing > 10:47:11,591 INFO [kafka.producer.SyncProducer] > (http-localhost-127.0.0.1-8080-2) Disconnecting from > 208.39.***.**:9092 > 10:47:11,592 WARN [kafka.producer.async.DefaultEventHandler] > (http-localhost-127.0.0.1-8080-2) Failed to send to broker -1 with > data Map([topic_227,0] -> > ByteBufferMessageSet(MessageAndOffset(Message(magic = 0, attributes = > 0, crc = 818361588, key = java.nio.HeapByteBuffer[pos=0 lim=1 cap=51], > payload = java.nio.HeapByteBuffer[pos=0 lim=46 cap=46]),0))) > 10:47:11,695 INFO [kafka.client.ClientUtils$] > (http-localhost-127.0.0.1-8080-2) Fetching metadata for topic > Set(topic_227) > 10:47:11,710 INFO [kafka.producer.SyncProducer] > (http-localhost-127.0.0.1-8080-2) Connected to 208.39.105.14:9092 for > producing > 10:47:11,742 INFO [kafka.producer.SyncProducer] > (http-localhost-127.0.0.1-8080-2) Disconnecting from > 208.39.105.14:9092 > 10:47:11,885 ERROR [kafka.producer.SyncProducer] > (http-localhost-127.0.0.1-8080-2) Producer connection to > kafka.icare.com:9092 unsuccessful: > java.nio.channels.UnresolvedAddressException > at sun.nio.ch.Net.checkAddress(Net.java:30) [classes.jar:1.6.0_33] > at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:512) > [classes.jar:1.6.0_33] > at kafka.network.BlockingChannel.connect(BlockingChannel.scala:57) > at kafka.producer.SyncProducer.connect(SyncProducer.scala:139) > at > kafka.producer.SyncProducer.getOrMakeConnection(SyncProducer.scala:154) > at > kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:68) > > > The server ip is 208.39.***.** and the server name is kafka.icare.com. > I am not sure why it first connected to the server with the ip address > and successfully created the topic with default partition. Then it > tried to use the server name to connect and thus failed? I feel like I > might be missing some setup in config files but I am not sure exactly > what I should change. Can anyone point out why this error occurs and > why kafka first tried to connect to ip and then server name? > > thanks! > > Jason >