2016-10-24 34 views
0

我想通過java應用程序授予對kafka主題的訪問權限,就像我們通過kafka-acls.sh所做的那樣。我只是想通過java api運行下面的命令。使用Java代碼的Kafka ACL授權問題

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

我用這些Java指令去做(topicName有測試爲值):

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:ctadminUser:ctadmin不正確授予權限之間的差異對於我的用戶而言,我無權使用此主題。

我該如何解決這個問題?

回答

1

問題已解決。這可能是由於緩存中的一些舊數據造成的。我在另一臺主機上做了一個新的Kafka安裝/配置,事情工作得很好。