kafka开启kerberos和ACL

作者:恩慈

一、部署kafka-KB包

1.上传软件包

依次点击 部署中心----部署组件----上传软件包
选择需要升级的kafka版本并点击确定
请添加图片描述

2.部署kafka

依次点击部署中心----部署组件----物理/虚拟机部署----选择集群----下一步
请添加图片描述

选择手动部署----选择需要部署的版本----下一步

请添加图片描述

等待部署完成,完成后查看服务状态

3.配置kafka

各配置文件及内容如下:

/opt/dtstack/Kafka/kafka/bin/kafka-server-start.sh

请添加图片描述

/opt/dtstack/Kafka/kafka/bin/kafka-topics.sh

请添加图片描述

/opt/dtstack/Kafka/kafka/config/kafka_server_jaas.conf

请添加图片描述

/opt/dtstack/Kafka/kafka/config/server.properties

请添加图片描述

/opt/dtstack/Kafka/kafka/config/client_jaas.conf

请添加图片描述

/opt/dtstack/Kafka/kafka/config/client.properties

请添加图片描述

/opt/dtstack/Kafka/kafka/config/consumer.properties

请添加图片描述

/opt/dtstack/Kafka/kafka/config/producer.properties

请添加图片描述

二、测试kerberos

1.未认证测试

(1)创建topic

请添加图片描述

(2)查询topic

请添加图片描述

(3)删除topic

请添加图片描述

(4)生产topic

请添加图片描述

(5)消费topic

请添加图片描述

2.认证后测试

请添加图片描述

(1)创建topic

请添加图片描述

(2)查询topic

请添加图片描述

(3)生产数据

请添加图片描述

(4)消费数据

请添加图片描述

(5)删除topic

请添加图片描述

三、测试ACL

1.未赋权

无法生产

请添加图片描述

无法消费

请添加图片描述

2.赋权后

kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add
–allow-principal User:enci --operation Read --operation Write --topic enci01

请添加图片描述

可以消费

请添加图片描述

可以生产

请添加图片描述

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kafka 开启Kerberos 认证后,连接 ZooKeeper 需要进行以下步骤: 1. 配置 Kafka 服务器以使用 Kerberos 认证。在 Kafka 配置文件(通常是 `server.properties`)中,添加以下属性: ``` listeners=SASL_PLAINTEXT://<Kafka_server_host>:<Kafka_server_port> security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=GSSAPI sasl.kerberos.service.name=kafka ``` 2. 配置 ZooKeeper 服务器以支持 Kerberos 认证。在 ZooKeeper 配置文件(通常是 `zoo.cfg`)中,添加以下属性: ``` authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthScheme=sasl jaasLoginRenew=3600000 jaasLoginRefresh=3600000 ``` 3. 生成 Kafka 和 ZooKeeper 的 Kerberos Keytab 文件。Keytab 文件包含了用于服务认证的凭证信息。可以使用 `kadmin` 命令行工具生成 Keytab 文件。 4. 在 Kafka 服务器上配置 Kerberos 客户端。将 Kafka 和 ZooKeeper 相关的 Keytab 文件分发到 Kafka 服务器上,并配置 Kerberos 客户端以使用这些文件。 5. 启动 Kafka 服务器和 ZooKeeper 服务器。确保 Kafka 服务器和 ZooKeeper 服务器都已正确配置并启动。 6. 使用 Kafka 客户端连接到 ZooKeeper。在代码中,使用适当的配置和认证信息创建 Kafka 客户端,并指定 ZooKeeper 的连接字符串,例如: ```java Properties props = new Properties(); props.put("bootstrap.servers", "<Kafka_server_host>:<Kafka_server_port>"); props.put("security.protocol", "SASL_PLAINTEXT"); props.put("sasl.kerberos.service.name", "kafka"); props.put("group.id", "<consumer_group_id>"); KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props); consumer.subscribe(Arrays.asList("<topic_name>")); while (true) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100)); // 处理消费记录 } ``` 请注意,上述步骤是一个基本的指南,实际操作中可能会有其他配置和设置需求。详细的步骤和配置可以参考 Kafka 和 ZooKeeper 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值