zookeeper - 添加/ 密码

command lines

# 先把密码addauth,这个实际上是用于验证的,不知道为啥, 打就打上吧
addauth digest machtalk:123}

# 添加密码,这个实际上无需对密码进行过多处理
setAcl / auth:zookeeper:123}:rwadc
这个错误提示表明在进行ZooKeeper操作时,没有足够的权限去访问 `/kafka-acl/TransactionalId` 节点。具体的解决方法如下: 1. 检查你的ZooKeeper认证信息是否正确。如果你正在使用Java客户端连接到ZooKeeper集群,可以检查下面的代码是否正确: ``` ZooKeeper zk = new ZooKeeper("localhost:2181", 3000, new Watcher() { @Override public void process(WatchedEvent event) { // ... } }); zk.addAuthInfo("digest", "username:password".getBytes()); ``` 上述代码中,我们使用了 `addAuthInfo()` 方法来添加用户名和密码的认证信息。如果你的ZooKeeper集群需要认证,就需要设置这些信息。 2. 检查你的ZooKeeper ACL设置是否正确。在ZooKeeper中,你可以为每个节点设置ACL,以控制访问权限。你需要检查是否给了足够的权限给你的用户去访问 `/kafka-acl/TransactionalId` 节点。可以使用以下命令来设置ACL: ``` setAcl /kafka-acl/TransactionalId digest:username:password:rwcda ``` 上述命令中,我们使用了 `digest` 方式来设置ACL,指定了用户名和密码,并给予了读、写、创建、删除和管理员权限(rwcda)。 3. 检查你的Kafka ACL设置是否正确。如果你的Kafka集群开启了ACL验证,那么你需要检查是否给了足够的权限给你的用户去访问 `/kafka-acl/TransactionalId` 节点。可以使用以下命令来设置Kafka ACL: ``` bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:username --operation All --topic transactional_id ``` 上述命令中,我们使用了 `--allow-principal` 参数来指定用户名,并给予了所有操作(All)的权限。同时,我们也需要确保在Kafka配置文件中指定了正确的 `transactional.id` 属性。 通过以上三个步骤,你应该能够解决 `KeeperException$NoAuthException` 异常了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值