天天看點

Kafka學習筆記之kafka常見報錯及解決方法(topic類、生産消費類、啟動類)

Kafka報錯

解決方法:Failed to acquire lock on file .lock in /var/log/kafka-logs.--問題原因是有其他的程序在使用kafka,ps -ef|grep kafka,殺掉使用該目錄的程序即可;

原因是配置檔案:kafka_client_jaas.conf中配置有問題,keyTab的路徑不對,導緻的;

報錯關鍵資訊:Failed to construct kafka producer

解決方法:配置檔案問題:KafkaClient中serviceName應該是kafka,之前配置成了zookeeper;重新開機後,就好了;

配置檔案如下:

問題描述:

衍生問題:

kafka生産消息就會報錯:

把KafkaClient更改為如下的配置,就可以 了:

消費時報錯:Error while executing topic command : replication factor: 1 larger than available brokers: 0

解決辦法:/confluent-3.0.0/bin 下重新開機daemon

然後zk重新開機;sh zkCli.sh -server ai186;

/usr/hdp/2.4.2.0-258/zookeeper/bin/zkCli.sh --腳本的目錄

如果還報錯,可以檢視配置檔案中下面的配置:

zookeeper.connect=dcp18:2181/kafkakerberos; --是group名稱

解決方法:配置檔案中下面的參數中的User的U必須是大寫;

super.users=User:kafka

或者有可能是server.properties中的adver.listen的IP是不對的,有可能是代碼中寫死的IP;

無法消費,則檢視kafka的啟動日志中的報錯資訊:日志檔案的所屬組不對,應該是hadoop;

或者,檢視kafka對應的zookeeper的配置字尾,是否已經更改,如果更改了,則topic需要重新生成才行;

更改代碼中,tomcat的心跳逾時時間如下:

沒有改之前的:;

重新開機後,日志中顯示:

建立topic時報錯:

問題定位:是jaas檔案有問題:

解決方法:server.properties檔案中的super.user要和jaas檔案中的keytab的principle一緻;

kafka_server_jaas.conf檔案改為: