kafka acl授权问题的java代码实现

pieyvz9o  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(466)

我想通过java应用程序授予对kafka主题的访问权,就像我们通过kafka-acls.sh所做的那样。我只想通过javaapi运行下面的命令。

kafka-acls.sh --add --allow-principals User:ctadmin --operation ALL --topic test --authorizer-properties zookeeper.connect=localhost:2181

我使用这些java指令来实现它(topicname将test作为值):

String[] cmdPArm = {"--add", "--allow-principals", "User:ctadmin", "--operation", "ALL","--topic", topicName ,"--authorizer-properties", "zookeeper.connect=localhost:2181"};
AclCommand.main(cmdPArm);

这个命令没有任何问题。acl授权已设置,但我对该命令的工作方式有一点疑问。当我尝试获取主题的当前权限时,而不是此输出:

Current ACLs for resource `Topic:test`: 
    User:ctadmin has Allow permission for operations: All from hosts: localhost

我有这个:

Current ACLs for resource `Topic:test`: 
    user:ctadmin has Allow permission for operations: All from hosts: localhost

你可以看出 user:ctadmin 以及 User:ctadmin 它不能正确授予我的用户权限,并且我无权使用此主题。
我怎样才能解决这个问题?

s1ag04yj

s1ag04yj1#

问题解决了。可能是因为缓存中的一些旧数据。我在另一台主机上重新安装了kafka/config,一切正常。

相关问题