• aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)


    1.使用控制台创建即可

    根据实例类型创建需要至少15分以上,可以提前创建好ec2实例和Secrets Manager,一会会使用到
    在这里插入图片描述

    2. 创建Secrets Manager (使用无认证时请跳过)

    官方文档:https://docs.aws.amazon.com/zh_cn/msk/latest/developerguide/msk-password.html
    必须以AmazonMSK_前缀,并且不能使用默认加密方式,需要去kms创建一个新的
    在这里插入图片描述
    kms 详情 截图
    注意授权给当前用户,否则不能选择
    在这里插入图片描述

    3.修改初始的验证方式

    确认等待完成
    在这里插入图片描述

    4.登录ec2测试

    按照文档准备环境
    https://docs.aws.amazon.com/zh_cn/msk/latest/developerguide/mkc-create-topic.html
    以下是我个人总结的,实际参数按自己情况修改

    sudo yum -y install java-11
    wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.13-2.8.1.tgz
    tar -xzf kafka_2.13-2.8.1.tgz
    cd ./kafka_2.13-2.8.1/libs/
    wget https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.1/aws-msk-iam-auth-1.1.1-all.jar
    
    • 1
    • 2
    • 3
    • 4
    • 5

    sasl认证相关
    https://docs.aws.amazon.com/zh_cn/msk/latest/developerguide/msk-password.html

    ##配置认证文件
    touch /data/users_jaas.conf
    vim /data/users_jaas.conf
    	KafkaClient {
    	   org.apache.kafka.common.security.scram.ScramLoginModule required
    	   username="alice"
    	   password="alice-secret";
    	};
    
    cp /usr/lib/jvm/java-11-amazon-corretto.x86_64/lib/security/cacerts /tmp/kafka.client.truststore.jks
    cd /root/kafka_2.13-2.8.1/bin 
    touch client_sasl.properties
    vim client_sasl.properties
    	security.protocol=SASL_SSL
    	sasl.mechanism=SCRAM-SHA-512
    	ssl.truststore.location=/tmp/kafka.client.truststore.jks
    
    
    ##配置用户密钥文件环境变量(新加的ssh窗口 需要再次申明)
    export KAFKA_OPTS=-Djava.security.auth.login.config=/data/users_jaas.conf
    ##配置地址方便使用(不同的认证方式端点不同,可能需要添加多个变量)
    export KAFKA1=b-3.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9092,b-2.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9092,b-1.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9092
    export KAFKA2=b-3.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9096,b-2.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9096,b-1.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9096
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    上述的端点地址:在控制台客户端信息查看
    在这里插入图片描述
    在这里插入图片描述
    测试连接集群和操作集群

    (以下命令明文传输时,直接不带 ‘--command-config client_sasl.properties’ 即可)
    ##列出topic
    ./kafka-topics.sh --bootstrap-server $KAFKA1 --list --command-config client_sasl.properties
    
    ##创建topic
    ./kafka-topics.sh --bootstrap-server $KAFKA2 --create --topic <topic-name> --command-config client_sasl.properties --replication-factor 2 --partitions 1 
    
    ##发送消息
    ./kafka-console-producer.sh --broker-list $KAFKA2 --topic topic-ht --producer.config client_sasl.properties
    ##接收消息
    ./kafka-console-consumer.sh --bootstrap-server $KAFKA2 --topic topic-ht --from-beginning --consumer.config client_sasl.properties
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    测试效果打开2个会话(新会话需要重新声明环境变量)
    1.创建topic 2.生产 3.消费

    可以看到我1会话使用的无验证方式,产生消息(只支持vpc下开启)
    在这里插入图片描述
    2会话窗口使用sasl验证连接集群,消费消息
    在这里插入图片描述

  • 相关阅读:
    (附源码)ssm产品裂变管理系统 毕业设计 100953
    Java集合
    Mysql报错:1130-host ... is not allowed to connect to this MySql server如何处理
    K8S之Secret的介绍和使用
    【日拱一卒行而不辍20220920】自制操作系统
    括号匹配
    五、伊森商城 前端基础-Vue 计算属性和侦听器 & 过滤器 & 组件化 & 生命周期钩子函数 p25
    曲线艺术编程 coding curves 第十二章 玑镂(扭索)纹
    Hadoop源码阅读(一):NameNode启动
    渗透测试站点推荐
  • 原文地址:https://blog.csdn.net/ht9999i/article/details/132760147