当前位置: 首页 > 知识库问答 >
问题:

将融合模式注册表与 MSK 结合使用

公冶威
2023-03-14

有可能将融合模式注册与AWS MSK集成吗?如果你以前这样做过,你能提供一些你实现它的方法/博客吗?

共有2个答案

符学
2023-03-14

这是可能的,与常规的Kafka安装一起使用没有什么不同。

您将它的引导服务器属性指向MSK,并将客户端应用程序指向它。

陶修洁
2023-03-14

这是可能的。我的设置使用 ec2 和泊坞窗。

  1. 如果您正在使用基于IAM的身份验证,请下载IAM身份验证jar
mkdir -p /usr/share/java/aws
wget -P /usr/share/java/aws https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.1/aws-msk-iam-auth-1.1.1-all.jar
chmod -R 444 /usr/share/java/aws
...

  schema-registry:
    image: confluentinc/cp-schema-registry:5.4.6-1-ubi8
    hostname: schema-registry
    container_name: schema-registry
    ports:
      - "8081:8081"
    volumes:
      - /usr/share/java/aws/aws-msk-iam-auth-1.1.1-all.jar:/usr/share/java/cp-base-new/aws-msk-iam-auth-1.1.1-all.jar
      - /usr/share/java/aws/aws-msk-iam-auth-1.1.1-all.jar:/usr/share/java/rest-utils/aws-msk-iam-auth-1.1.1-all.jar
    environment: # https://docs.confluent.io/platform/current/schema-registry/installation/config.html#schemaregistry-config
      SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081
      SCHEMA_REGISTRY_HOST_NAME: "${HOSTNAME}" # 
      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: "${BOOTSTRAP_BROKERS_SASL_IAM}"
      SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: "SASL_SSL"
      SCHEMA_REGISTRY_KAFKASTORE_SASL_MECHANISM: "AWS_MSK_IAM"
      SCHEMA_REGISTRY_KAFKASTORE_SASL_JAAS_CONFIG: "software.amazon.msk.auth.iam.IAMLoginModule required awsDebugCreds=true;"
      SCHEMA_REGISTRY_KAFKASTORE_SASL_CLIENT_CALLBACK_HANDLER_CLASS: "software.amazon.msk.auth.iam.IAMClientCallbackHandler"

...
  • 主机名是您的 ec2 计算机 DNS 名称或 IP,例如 ip-10-0-0-84.ec2.内部
  • BOOTSTRAP_BROKERS_SASL_IAM是逗号分隔的主机 1:端口,主机 2:端口网址。有关端口信息,请参阅此处

如果您使用明文或SSL auth,最后4个环境变量会改变。你不需要下载iam auth jar

...
key.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=false
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schemas.enable=true
value.converter.schema.registry.url=http://ip-10-0-0-84.ec2.internal:8081
value.converter.enhanced.avro.schema.support=true

就是这样。
在 MSK 集群的 EC2 实例安全组中打开 8081 端口

资源:

    < Li > https://github . com/maikel penz/Kafka-AWS-deployment < Li > https://maikel penz . medium . com/building-a-Kafka-playground-on-AWS-part-3-streaming-database-events-and-query-with-ksql-5f 23978 a 0080

我尝试过的替代选项是AWS胶水模式注册表,但我们不得不使用KSQL,KSQL没有第三方模式注册表集成或自定义SerDe Github问题

 类似资料:
  • 我一直在尝试创建一个MSK连接器,并使用Glue schema注册表。配置如下。 首先,我使用运行在EC2上的合流模式注册中心,我在“key/value . converter . schema . registry . URL”字段中添加了EC2的ip,它工作得很好。现在我尝试使用Glue Schema Registry。但是我不知道如何用Glue Schema Registry连接连接器。

  • 我现在一直在查看Spring Cloud模式注册表和汇合模式注册表。我可以看到一些区别,例如Spring Cloud模式注册表将模式保存在普通数据库中,默认情况下保存在h2中,而汇合模式注册表保存在kafka主题中。 spring云模式注册表的这种方法是否会对性能产生任何影响。据我所知,即使数据保留在主题上,以防汇合,查询它时仍然会有延迟。但会有重大影响吗? 我还可以看到,spring云模式注册表

  • 我正在尝试使用Confluent schema registry,下面是我在Github中找到的一些示例(https://github.com/gAmUssA/springboot-kafka-avro). 当消费者和生产者与模型共享相同的命名空间而不是其工作时。 当使用者位于具有不同名称空间但具有相同类(名称和属性方面)的不同项目中时,它不工作。 合流Avro反序列化程序可以使用正确的值反序列化

  • 我使用来自Confluent的Kafka Connect来使用Kafka流并以拼花格式写入HDFS。我正在1个节点中使用架构注册表服务,它运行良好。现在我想将模式注册表分发到集群模式以处理故障转移。关于如何实现这一点的任何链接或片段都将非常有用。

  • 我们正在开发并尝试删除主题的模式,因为更改与旧模式不兼容。 我们删除了模式/主题,并尝试使用相同的主题名称创建新模式,成功创建了模式。 然而,当我们运行应用程序时,它仍然指向相同的模式ID。 旧模式ID(主题“topic1”):51 新架构ID(主题“topic1”):52 应用程序在反序列化消息时出错 <代码>root@bas:/#curl-khttps://schemaregistry:443

  • 我在Spark结构化流媒体中使用Kafka源来接收融合编码的Avro记录。我打算使用Confluent Schema Registry,但与spark结构化流媒体的集成似乎是不可能的。 我已经看到了这个问题,但无法让它与融合模式注册表一起工作。使用Spark 2.0.2(结构化流媒体)阅读Kafka的Avro信息