Morningstar / kafka-offset-monitor

A small web app to monitor the progress of kafka consumers and their lag wrt the log.
Apache License 2.0
282 stars 108 forks source link

KafkaOffsetGetter Unhandled NullPointerException #2

Closed kiriti-badam closed 7 years ago

kiriti-badam commented 7 years ago

I'm using Kafka v.0.10.1 and I have 3 brokers running in my local system at different ports. I face the following exception when I've tried to use the 0.4.1-SNAPSHOT.jar file.

2017-04-05 10:50:50 INFO  KafkaOffsetGetter$:236 - Creating new Kafka Client to get consumer group committed offsets
2017-04-05 10:50:50 ERROR KafkaOffsetGetter$:103 - The Kafka Client reading topic/partition LogEndOffsets has thrown an unhandled exception.  Will attempt to reconnect.
java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:459)
        at com.quantifind.kafka.core.KafkaOffsetGetter$.createNewKafkaConsumer(KafkaOffsetGetter.scala:115)
        at com.quantifind.kafka.core.KafkaOffsetGetter$.startLogEndOffsetGetter(KafkaOffsetGetter.scala:418)
        at com.quantifind.kafka.OffsetGetter$$anon$2.run(OffsetGetter.scala:234)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
2017-04-05 10:50:50 ERROR KafkaOffsetGetter$:103 - The Kafka Client reading topic/partition LogEndOffsets has thrown an unhandled exception.  Will attempt to reconnect.
java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:459)
        at com.quantifind.kafka.core.KafkaOffsetGetter$.createNewKafkaConsumer(KafkaOffsetGetter.scala:115)
        at com.quantifind.kafka.core.KafkaOffsetGetter$.startLogEndOffsetGetter(KafkaOffsetGetter.scala:418)
        at com.quantifind.kafka.OffsetGetter$$anon$2.run(OffsetGetter.scala:234)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
2017-04-05 10:50:50 ERROR KafkaOffsetGetter$:103 - The Kafka Client reading topic/partition LogEndOffsets has thrown an unhandled exception.  Will attempt to reconnect.
java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:459)
        at com.quantifind.kafka.core.KafkaOffsetGetter$.createNewKafkaConsumer(KafkaOffsetGetter.scala:115)
        at com.quantifind.kafka.core.KafkaOffsetGetter$.startLogEndOffsetGetter(KafkaOffsetGetter.scala:418)
        at com.quantifind.kafka.OffsetGetter$$anon$2.run(OffsetGetter.scala:234)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
2017-04-05 10:50:50 ERROR KafkaOffsetGetter$:103 - An unhandled exception was thrown while reading messages from the committed offsets topic.

The command I've used for running the jar is java -cp KafkaOffsetMonitor-assembly-0.4.1-SNAPSHOT.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --offsetStorage kafka --zk localhost --port 8000 --refresh 10.seconds --retain 2.days

rcasey212 commented 7 years ago

I believe you are missing the "--kafkaBrokers" param on the command-line when starting. Try fixing that and see if it helps.

https://github.com/Morningstar/kafka-offset-monitor#running-it

java -Djava.security.auth.login.config=conf/server-client-jaas.conf \
    -cp KafkaOffsetMonitor-assembly-0.4.0.jar \
       com.quantifind.kafka.offsetapp.OffsetGetterWeb \
     --offsetStorage kafka \
     --kafkaBrokers kafkabroker01:6667,kafkabroker02:6667 \
     --kafkaSecurityProtocol SASL_PLAINTEXT \
     --zk zkserver01,zkserver02 \
     --port 8081 \
     --refresh 10.seconds \
     --retain 2.days \
     --dbName offsetapp_kafka

kafkaBrokers: comma-separated list of Kafka broker hosts (ex. "host1:port,host2:port'). Required only when using offsetStorage "kafka".

You also may be missing some of your zookeeper nodes. This should also be a comma-separated list of hosts: --zk host1,host2,etc Double check.