You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Madhavi Sreerangam <ma...@gmail.com> on 2015/07/01 17:53:28 UTC
Re: Issue with log4j Kafka Appender.
I have added the configurations suggested, now my log4j appender file looks
as follows
log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender
log4j.appender.KAFKA.BrokerList=iakafka301p.dev.ch3.s.com:9092,
iakafka302p.dev.ch3.s.com:9092,iakafka303p.dev.ch3.s.com:9092
log4j.appender.KAFKA.Topic=dev-1.0_audit
log4j.appender.KAFKA.requiredNumAcks=0
log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout
log4j.appender.KAFKA.layout.ConversionPattern=%m-%d
log4j.appender.KAFKA.syncSend=false
but still I could not see messages on queue without sleep time. I have
enabled the log4 debug and following is the debug trace
2015-07-01 10:49:59,238 [main] INFO clients.producer.ProducerConfig -
ProducerConfig values:
value.serializer = class
org.apache.kafka.common.serialization.ByteArraySerializer
key.serializer = class
org.apache.kafka.common.serialization.ByteArraySerializer
block.on.buffer.full = true
retry.backoff.ms = 100
buffer.memory = 33554432
batch.size = 16384
metrics.sample.window.ms = 30000
metadata.max.age.ms = 300000
receive.buffer.bytes = 32768
timeout.ms = 30000
max.in.flight.requests.per.connection = 5
bootstrap.servers = [iakafka301p.dev.ch3.s.com:9092,
iakafka302p.dev.ch3.s.com:9092, iakafka303p.dev.ch3.s.com:9092]
metric.reporters = []
client.id =
compression.type = none
retries = 0
max.request.size = 1048576
send.buffer.bytes = 131072
acks = 1
reconnect.backoff.ms = 10
linger.ms = 0
metrics.num.samples = 2
metadata.fetch.timeout.ms = 60000
2015-07-01 10:49:59,515 [main] INFO kafka.utils.VerifiableProperties -
Verifying properties
2015-07-01 10:49:59,550 [main] INFO kafka.utils.VerifiableProperties -
Property metadata.broker.list is overridden to
iakafka301p.dev.ch3.s.com:9092,iakafka302p.dev.ch3.s.com:9092,
iakafka303p.dev.ch3.s.com:9092
2015-07-01 10:49:59,550 [main] INFO kafka.utils.VerifiableProperties -
Property request.required.acks is overridden to 1
2015-07-01 10:49:59,550 [main] INFO kafka.utils.VerifiableProperties -
Property serializer.class is overridden to kafka.serializer.StringEncoder
I could not find much documentation also. Can anyone help me to find the
proper documentation/code base for this issue.
On Thu, Jun 18, 2015 at 6:14 AM, Manikumar Reddy <ku...@nmsworks.co.in>
wrote:
> You can enable producer debug log and verify. In 0.8.2.0, you can set
> compressionType
> , requiredNumAcks, syncSend producer config properties to log4j.xml. Trunk
> build can take additional retries property .
>
>
> Manikumar
>
> On Thu, Jun 18, 2015 at 1:14 AM, Madhavi Sreerangam <
> madhavi.sreerangam@gmail.com> wrote:
>
> > I have configured my log4j with Kafka Appender.(Kafka version 0.8.2.0)
> > Following are entries from my log4j file
> >
> > log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender
> > log4j.appender.KAFKA.BrokerList=iakafka301p.dev.ch3.s.com:9092,
> > iakafka302p.dev.ch3.s.com:9092,iakafka303p.dev.ch3.s.com:9092
> > log4j.appender.KAFKA.Topic=dev-1.0_audit
> > log4j.appender.KAFKA.Serializer=kafka.test.AppenderStringSerializer
> > log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout
> > log4j.appender.KAFKA.layout.ConversionPattern=%m-%d
> >
> > Kafka is configured with 3 servers, 3 partitions and 3 replicas.
> > I have created a test method to publish the messages to kafka topic as
> > follows
> >
> > private void testKAFKAlog(int noOfMessages){
> > for(int i=0; i < noOfMessages; i++){
> > KAFKA_LOG.info("Test Message: " + i);
> > }
> > }
> > I could not see any messages published into the topic. Then I have
> modified
> > the test method to introduce some wait between the requests as follows
> >
> > private void testKAFKAlog(int noOfMessages){
> > for(int i=0; i < noOfMessages; i++){
> > try {
> > Thread.sleep(10);
> > } catch (InterruptedException e) {
> > e.printStackTrace();
> > }
> > KAFKA_LOG.info("Test Message: " + i);
> > }
> > }
> >
> > Then all the messages started publishing. I did this exercise couple of
> > times with and without sleep between the requests. Messages got published
> > only when there is sleep in between the requests.
> > Does any one help me here, what is wrong with the configurations I am
> > using. (I can't afford 10ms wait for each message, as my application logs
> > few Million messages for each run).
> > Is there any way that I can override the default ProducerConfig for log4j
> > kafka appender.
> >
>