【问题标题】:Snowflake Kafka connector doubts and questions雪花卡夫卡连接器疑惑和疑问
【发布时间】:2022-01-05 12:05:34
【问题描述】:

我使用 3 个服务器集群进行 Kafka 配置,使用 Snowflake 连接器 REST API 将数据推送到 Snowflake 数据库:所有这些都是在 AWS 上运行的 3 个不同的虚拟机

1.这里,我们需要3个kafka单独的服务器zookeeper-services需要在集群中启动并运行,否则只有1个就足够了,好像需要在所有3个服务器zookeeper服务中执行,是否需要不同的端口配置,例如:

1.a:zookeeper.connect=xx.xx.xx.xxx:2181, xx.xx.xx.xxx:2182, xx.xx.xx.xxx:2183 否则应该在所有 servers.properties 文件中为 2181

1.b:PLAINTEXT://localhost:9091 in server1, PLAINTEXT://localhost:9092 and PLAINTEXT://localhost:9093 (即使在此它应该是 localhost else IP 地址) 需要给出吗?

1.c:server.1=:2888:3888, server.1=:2888:3888, server.1=:2888:3888 (在每台服务器上,2888:3888 需要相同吗?)

1.d:Clientport=2181 需要在所有 3 个 VM 中的服务中相同,否则它需要不同?

1.e:每个服务器上的 listeners = PLAINTEXT://your.host.name:9092 是否应该有单独的 port 之类的 VM-Server1:9092、VM-Server2:9093、VM-Server3:9094。否则,主服务器 IP 应在服务器 2 和服务器 3 的工作节点中给出,否则该工作节点自己的服务器 IP

  1. 关于配置项 "tasks.max":"1"REST-API 的连接器配置应该是什么。因为我要为 Kafka 使用 3 个服务器集群,并且将在所有 3 台机器上启动 3 个 distribute-connector

  2. 我得到重复,如果我在第二台服务器中启动分布式连接器的服务,如何避免这些重复记录。但是是的,如果它只有 1 个分布式连接器正在运行服务,那么就没有重复。请提出建议,因为如果只有 1 个分布式连接器服务启动并运行,则延迟会增加。

  3. 创建 /data/zookeeper/myid 文件,并为 zookeeper1 赋值 1,为 zookeeper2 赋值 2,为 zookeeper3 赋值 3。当您在不同的 VM 中时是否需要这样做?

  4. 分布式连接器服务一旦开始执行一段时间,然后就会断开连接

  5. 需要遵循的 3 服务器集群架构和最佳实践的任何其他参数

【问题讨论】:

    标签: apache-kafka apache-zookeeper apache-kafka-connect


    【解决方案1】:

    Kafka 和 Zookeeper

    您只需要一个 Kafka 代理和 Zookeeper 服务器,尽管拥有更多可以提供容错。您无需在 Zookeeper 中手动创建任何内容,例如 myid 文件。

    端口不需要相同,但如果是,显然更容易绘制网络图并自动配置。

    关于 Kafka 监听器,请阅读 this post。对于 Zookeeper,如果您想创建集群,请按照其文档进行操作。

    或者使用 Amazon MSK / Confluent Cloud 等代替 EC2,这一切都为您完成。


    卡夫卡连接

    tasks.max 可以任意多,但是如果您有 source 连接器,那么多个线程可能会导致重复,是的。

    【讨论】:

    • 你的意思是说在虚拟机中,端口需要不同吧?对于每个单独的 vm-server。
    • 我们如何限制重复,即使在单个服务器以及集群环境中也是如此。请指导。因为即使在单节点和双节点集群中我也会得到重复。由于数据消耗的分区是5。所以这5个分区被用来抽数据。如果像你上面说的,如果我们只取tasks.max=1,那么如何实现并行性和吞吐量性能。请帮忙
    • 每台唯一机器的端口可以相同。使它们不同的唯一原因是,如果您在同一台机器上运行多个 Kafka 进程或 Zookepeer 服务器。我从来没有使用过这个连接器,所以我没有关于重复的建议,但是如果只有一个任务,那么只有一个进程从 Snowflake 中提取数据并写入 Kafka。如果连接器中有跟踪“进度”的内容(通过主键、时间戳或数据库中的其他属性),则不应有重复项。
    • 对于未来的问题,我建议你在他们的论坛上提出一个问题,或者在这里提出问题github.com/snowflakedb/snowflake-kafka-connector/issues
    猜你喜欢
    • 2020-12-18
    • 2020-02-12
    • 2020-06-20
    • 2021-07-03
    • 2020-11-18
    • 2020-04-07
    • 2022-01-25
    • 2018-01-18
    相关资源
    最近更新 更多