Kafka Connect应该部署在Azure Kafka for HD Insight的哪些节点上?

Kafka Connect应该部署在Azure Kafka for HD Insight的哪些节点上?,azure,apache-kafka,apache-kafka-connect,Azure,Apache Kafka,Apache Kafka Connect,我们在本地运行很多连接器,我们需要转到Azure。这些本地计算机在4个节点上运行Kafka Connect API。我们在所有这些机器上部署此API执行此操作: 导出类路径=/path/to/jars /usr/hdp/current/kafka broker/bin/connect-distributed.sh distributed.properties 我们在Azure Kafka上部署了Kafka,用于HD Insight。我们需要至少2个运行分布式连接API的节点,但我们不知道在何处部

我们在本地运行很多连接器,我们需要转到Azure。这些本地计算机在4个节点上运行Kafka Connect API。我们在所有这些机器上部署此API执行此操作:

导出类路径=/path/to/jars

/usr/hdp/current/kafka broker/bin/connect-distributed.sh distributed.properties

我们在Azure Kafka上部署了Kafka,用于HD Insight。我们需要至少2个运行分布式连接API的节点,但我们不知道在何处部署它们:

  • 在头部节点上(我们仍然不知道它们的用途)
  • 在工作节点(kafka代理所在的位置)上
  • 关于边节点
我们还有运行容器的Azure AKS。我们应该在AKS上部署分布式连接API吗

卡夫卡经纪人住在哪里

理想情况下,不会。Connect在批处理大量记录时会使用大量内存。该内存最好留给代理的页面缓存

关于边节点

可能不会。这就是用户与集群交互的地方。您不希望他们刺探您的配置或以其他方式意外地扰乱流程。例如,我们让某人填充边缘节点本地磁盘,因为他们在“边缘”中复制大量数据

在头部节点上

也许吧?但话说回来,这些服务只用于集群管理服务,可能内存很少


更好的解决方案-在Azure中的HD Insights之外运行仅运行Kafka Connect的专用实例。也许在Kubernetes中将它们作为容器运行,因为它们是完全无状态的服务,只需要访问您的源代码。接收器和卡夫卡代理,用于传输数据。通过这种方式,它们可以独立于Hortonworks和HDInsights提供的功能进行升级和配置