如何在YARN中运行Kafka连接工作程序?

hba*_*hba 25 apache-kafka hadoop-yarn apache-kafka-connect

我正在玩Kafka-Connect.我已经HDFS connector独立模式分布式模式下工作了.

他们宣传工作人员(负责运行连接器)可以通过管理YARN 但是,我还没有看到任何描述如何实现这一目标的文档.

我如何YARN开始执行工作人员?如果没有具体的方法,是否有关于如何让应用程序在其中运行的通用方法YARN

我已经使用YARN过SPARK,spark-submit但我无法弄清楚如何让连接器运行YARN.

ilo*_*ner 7

理论上你可以在YARN上运行任何东西,甚至是一个简单的hello world程序.这就是说Kafka-Connect在YARN上运行的原因在技术上是正确的.需要注意的是,让Kafka-Connect在YARN上运行将会使用相当数量的肘部油脂.有两种方法可以做到:

  1. 直接与YARN API交谈以获取容器,部署Kafka-Connect二进制文件并启动Kafka-Connect.
  2. 使用Stephane已经在评论中提到的单独的Slider项目https://slider.incubator.apache.org/docs/getting_started.html.

滑块

您必须阅读相当多的文档才能使其正常工作,但Slider背后的想法是,您可以在YARN上运行任何程序而无需处理YARN API并通过执行以下操作编写YARN app master:

  • 从程序中创建一个滑块包
  • 为您的包定义配置
  • 使用滑块cli将应用程序部署到YARN上

Slider为您处理容器部署和故障容器的恢复,这很好.当YARN 3.0发布时,Slider也正在成为YARN的原生部分.

备择方案

另外作为旁注,让Kafka-Connect在Kubernetes或Mesos/Marathon上部署可能会更容易.这样做的基本工作流程是:

  • 创建一个Kafka-Connect docker容器或只使用confluent的docker容器
  • 为Kubernetes或Marathon创建部署配置
  • 单击按钮/运行命令

教程