配置SSL后Apache Kafka 2.13-3.0.0无法启动问题求助
问题原因分析
你遇到的三个报错均有明确诱因,其中两个属于配置错误,具体如下:
- 第一个
java.lang.ClassNotFoundException: kafka.security.auth.SimpleAclAuthorizer异常:你使用的Kafka 3.0.0版本中,旧版本Scala实现的kafka.security.auth.SimpleAclAuthorizer已经被弃用移除,你参考的教程适配的是更低版本的Kafka,直接复用旧配置就会出现类找不到的错误,属于配置错误。 - 第二个日志目录锁占用异常:第一次启动失败后,Kafka进程没有正常退出,残留进程依然持有
/tmp/kafka-logs目录下的.lock文件锁,再次启动时就会触发该报错。可以执行ps -ef | grep kafka找到残留进程kill掉,或者直接删除/tmp/kafka-logs/.lock文件即可解决,不属于配置错误。 - 第三个无参构造函数找不到异常:
org.apache.kafka.server.authorizer.Authorizer是授权器的顶层接口,本身不能直接实例化,你需要配置它的实现类而不是接口本身,属于配置错误。
修复方案
修改server.properties中的ACL配置项为:
# ACLs authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin
修复后先清理残留的Kafka进程和锁文件,再重新执行启动命令即可。
内容的提问来源于stack exchange,提问作者Giuseppe Ricci
相关产品推荐
相关产品推荐

