Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Kafka >> mail # user >> problem with adapter


Copy link to this message
-
problem with adapter
Hi, I am learning kafka 0.7 this days,  with a single node, :)

When I run the example code, I defining the Kafka appender in my
log4j.properties like the kafka apache quickstart page told.

log4j.appender.KAFKA = kafka.producer.KafkaLog4jAppender
log4j.appender.KAFKA.Host = localhost
log4j.appender.KAFKA.SerializerClass = kafka.test.AppenderStringSerializer
log4j.appender.KAFKA.Port = 9092
log4j.appender.KAFKA.Topic = test
log4j.logger.com.test.kafka.examples = INFO, KAFKA

But then I met the following problems:

log4j:WARN No such property [port] in kafka.producer.KafkaLog4jAppender.
log4j:WARN No such property [host] in kafka.producer.KafkaLog4jAppender.
Exception in thread "main" java.lang.ExceptionInInitializerError
 at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
at org.apache.log4j.Logger.getLogger(Logger.java:118)
 at org.I0Itec.zkclient.ZkClient.<clinit>(ZkClient.java:57)
at java.lang.J9VMInternals.initializeImpl(Native Method)
 at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at
kafka.producer.ZKBrokerPartitionInfo.<init>(ZKBrokerPartitionInfo.scala:62)
 at kafka.producer.Producer.<init>(Producer.scala:47)
at kafka.javaapi.producer.Producer.<init>(Producer.scala:33)
 at kafka.javaapi.producer.Producer.<init>(Producer.scala:40)
at com.test.kafka.examples.Producer.<init>(Producer.java:46)
 at
com.test.kafka.examples.SimpleConsumerDemo.generateData(SimpleConsumerDemo.java:40)
at
com.test.kafka.examples.SimpleConsumerDemo.main(SimpleConsumerDemo.java:57)
Caused by: kafka.producer.async.MissingConfigException: One of these
connection properties must be specified: zkConnect, brokerList.
at
kafka.producer.KafkaLog4jAppender.activateOptions(KafkaLog4jAppender.scala:59)
 at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:257)
at
org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:133)
 at
org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:97)
at
org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:689)
 at
org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:647)
at
org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:568)
 at
org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:442)
at
org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:476)
 at
org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:471)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:125)

In the source code, there are port and host property, and I add the
zkConnect, brokerList.
log4j.appender.KAFKA.zkConnect =localhost:2181
log4j.appender.KAFKA.brokerList = localhost:9092

There are still problems here.

log4j:WARN Using default encoder - kafka.serializer.StringEncoder
log4j:WARN No appenders could be found for logger
(org.I0Itec.zkclient.ZkEventThread).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
 at org.apache.log4j.Logger.getLogger(Logger.java:118)
at org.I0Itec.zkclient.ZkClient.<clinit>(ZkClient.java:57)
 at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
 at
kafka.producer.ZKBrokerPartitionInfo.<init>(ZKBrokerPartitionInfo.scala:62)
at kafka.producer.Producer.<init>(Producer.scala:47)
 at kafka.javaapi.producer.Producer.<init>(Producer.scala:33)
at kafka.javaapi.producer.Producer.<init>(Producer.scala:40)
 at com.test.kafka.examples.Producer.<init>(Producer.java:46)
at
com.test.kafka.examples.SimpleConsumerDemo.generateData(SimpleConsumerDemo.java:40)
 at
com.test.kafka.examples.SimpleConsumerDemo.main(SimpleConsumerDemo.java:57)
Caused by: java.lang.NullPointerException
at org.I0Itec.zkclient.ZkClient.close(ZkClient.java:915)
 at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:888)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98)
 at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:84)
at
kafka.producer.ZKBrokerPartitionInfo.<init>(ZKBrokerPartitionInfo.scala:62)
 at kafka.producer.Producer.<init>(Producer.scala:47)

Without the logger appender, the code runs almost right.(Other problems
will be metioned in next mail.)

 
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB