aws glue配置读取本地kafka数据源

创建连接时填写本地私有ip地址,选择网络配置

image-20231126000238398

配置任务选择kafka作为数据源

image-20231126000336628

但是执行任务时日志显示连接失败

image-20231126000046457

文档提到只能用加密通信

如果您希望与 Kafka 数据源建立安全连接,请选择 Require SSL connection (需要 SSL 连接),并在 Kafka private CA certificate location (Kafka 私有 CA 证书位置) 中,输入自定义 SSL 证书的有效 Amazon S3 路径。对于与自我托管式 Kafka 的 SSL 连接,自定义证书是强制性的。对于 Amazon MSK 则是可选的。

启动带tls加密的kafka

  • https://github.com/PardhuMadipalli/kafka-ssl-docker/tree/main
  • 提前将本机ip地址映射到host,datasource.zhaojiew.work
version: "3"
services:
  kafka:
    # image: "pardhu1212/kafka-ssl:0.1.0"
    image: xxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn/kafka-ssl:0.1.0
    ports:
      # SSL port
      - "9093:9093"
      # Plaintext port
      - "9094:9094"
      # zookeeper
      - "2181:2181"
    init: true
    environment:
      PASSWORD: "Passwd_1qaz"
      # This can be domain name or IP address
      DOMAIN: "datasource.zhaojiew.work"
    container_name: kafkassl
    # 非常重要修改hostname
    hostname: datasource.zhaojiew.work

复制密钥到本地

docker cp kafkassl:/kafka_2.12-2.5.0/ssl/server.keystore.jks keystore.jks

客户端配置

#client.properties
security.protocol=SSL
ssl.truststore.password=Passwd_1qaz
ssl.truststore.location=/home/ec2-user/download/kafka_2.12-3.0.0/bin/keystore.jks

创建topic

./kafka-topics.sh --bootstrap-server datasource.zhaojiew.work:9093 --command-config client.properties --topic glue --create --partitions 1 --replication-factor 1
Created topic glue.

生产消息

./kafka-console-producer.sh --bootstrap-server datasource.zhaojiew.work:9093 --producer.config client.properties --topic glue

image-20231126040035928

创建glue的connection

image-20231126025105590

出现新的报错,看起来是由于password使用kms加密导致的,关闭账户下的connection加密设置

image-20231126024845614

出现新的报错

image-20231126031713601

image-20231126031918905

检查发现是没有指定ca证书,从容器中拷贝出ca证书指定,出现新的报错

  • 这里可以出连接已经建立成功,只不过由于json消息中包含了嵌套消息导致存储为csv失败

image-20231126033420614

image-20231126033738588

指定ca证书,ca证书在容器的kafka_home/ssl目录下的ca.cert,直接重命名为ca.pem拷贝到s3即可

image-20231126035609615

由于刚才已经发送了错误的消息结构,因此调整为从latest读取,并且输出格式调整为json

image-20231126034257045

成功拿到结果

image-20231126040126911

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值