我尝试从Java应用程序连接到Kafka,当我启动应用程序时,我在stdout上收到以下消息:
log4j:WARN No such property [host] in kafka.producer.KafkaLog4jAppender.
log4j:WARN No such property [serializer] in kafka.producer.KafkaLog4jAppender.
log4j:WARN No such property [port] in kafka.producer.KafkaLog4jAppender.
以下是我在官方quick start中提供的log4.properties:
// define the kafka log4j appender config parameters
log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender
// REQUIRED: set the hostname of the kafka server
log4j.appender.KAFKA.Host=hadoop-server
// REQUIRED: set the port on which the Kafka server is listening for connections
log4j.appender.KAFKA.Port=9092
// REQUIRED: the topic under which the logger messages are to be posted
log4j.appender.KAFKA.Topic=test
// the serializer to be used to turn an object into a Kafka message. Defaults to kafka.producer.DefaultStringEncoder
log4j.appender.KAFKA.Serializer=kafka.test.AppenderStringSerializer
// do not set the above KAFKA appender as the root appender
log4j.rootLogger=INFO
// set the logger for your package to be the KAFKA appender
我失踪了什么?我该如何解决?
答案 0 :(得分:1)
在Kafka 0.8而不是使用
log4j.appender.KAFKA.Host=hadoop-server
log4j.appender.KAFKA.Port=9092
尝试指定代理列表,如
log4j.appender.KAFKA.BrokerList=host1:9092,host2:9092
此外,Serializer属性已更改为Serializers Class
log4j.appender.KAFKA.SerializerClass=kafka.test.AppenderStringSerializer