我的操作步骤如下(没有设置SSL和SASL):
1、每个broker的server.properties文件增加
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
2、给集群增加权限
kafka_2.11-0.9.0.1/bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --operation All --allow-principal User:* --allow-host 192.168.70.101 --allow-host 192.168.70.102 --add --cluster
3、重启集群
kafka-server报version无效,启动失败。
启动zookeeper时,zookeeper自动在/var/lib/zookeeper下新建了version-2文件夹,此时报的错误是version-2有问题,只能是1或0。环境在内网,我没办法截图过来。
4、server.properties增加
allow.everyone.if.no.acl.found=true
5、重启集群
正常
6、在另一台机器 192.168.70.105 上新增topic、新增console-producer并发送消息、新增console-consumer并发送消息,一切正常,没有任何权限提示。
实在是不明白server的权限需要怎么设置,求指教!谢谢!
我需要对producer和consumer所在的Host做ip限制,有对应权限的host才能进行相应操作。broker之间可以不做权限控制。
在server.properteis中增加
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
遇到了同样的问题啊。。。3台服务器,未设置ssl以及sasl 。在server.propertities中均配置了
#allow.everyone.if.no.acl.found=false allow.everyone.if.no.acl.found=true #zookeeper.set.acl=true authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer principal.builder.class=org.apache.kafka.common.security.auth.DefaultPrincipalBuilder
在其他服务器上,新增console-producer并发送消息,一切正常。acl的相关设置哪里出了问题么?
给你个常用的例子吧
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test1 kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --operation Write --operation Read --allow-principal User:* --allow-host 192.168.0.11 --add --topic test1
这样,就可以在11节点上对
topic test1
拥有读与写的权限您好,貌似我在不添加host的ACL权限的时候,也是可以发送数据的,这是因为kafka-acl.sh脚本执行的问题嘛?
仔细检查相关步骤。
您好,不知道您这边做kafka acl方面的实例没,我发现对User和Host的隔离好像并没有太大的影响,能分享一下您是怎么做的嘛?
你的答案