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文件改为: