我现在分别有kafka和zookeeper的集群,
zookeeper我单独使用的时候自己建立的节点可以设置权限,但是kafka在zookeeper中创建的元数据节点怎么办?这些节点都是anyone权限,肯定不可能手动去一个一个加,因为zookeeper子节点不继承父节点的权限,所以除非产生的每个节点都有权限否者没有意义。
我查资料按照步骤给zookeeper启用了jaas文件,然后zookeeper集群也可以正常启动与使用,但是kafka启动的时候报错:
java.lang.SecurityException: zookeeper.set.acl is true, but the verification of the JAAS login file failed.
主要就是下面这句话,到底是什么情况下才会报这个错?
zookeeper.set.acl is true, but the verification of the JAAS login file failed.
我现在zookeeper的jaas配置方式是:
1.给zoo.cfg文件配置了
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
2.zookeeper的jaas文件如下:
Server {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="adminpwd";
};
这个文件conf文件夹中
3.
并且org.apache.kafka.common.security.plain.PlainLoginModule 需要用到的jar也都添加到了
classpath中,
4.
zkEnv.sh
也设置了SERVER_JVMFLAGS=" -Djava.security.auth.login.config=$ZOOCFGDIR/zk_server_jaas.conf"
kafka的broker的jaas文件内容如下:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="adminpwd"
user_admin="adminpwd";
};
配置文件server.properties中设置了zookeeper.set.acl=true
请问我是不是哪里弄错了,为什么就是不行呢