【问题标题】:How to run a Kafka connect worker in YARN?如何在 YARN 中运行 Kafka 连接工作程序?
【发布时间】:2016-04-24 00:42:12
【问题描述】:

我在玩Kafka-Connect。我有 HDFS connectorstand-alone modedistributed mode 中工作。

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

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

我已经将YARN 与使用spark-submit 的SPARK 一起使用,但是我不知道如何让连接器在YARN 中运行。

【问题讨论】:

  • 你能把package.json放到你的帖子里吗?也许它有脚本?还有你的yarn.lock
  • 我不确定您是否会找到很多相关信息。在不断发展的大数据技术中,Yarn 不再那么流行,许多公司宁愿投资于 Mesos 调度。无论如何,对于 Yarn 中的 Kafka Connect,我可能会尝试 slider.incubator.apache.org
  • @StephaneMartin 我已经从这个项目搬走了,但是感谢您的帖子,我会尝试检查一下...如果我这样做了,我会在这里发布我的发现...

标签: apache-kafka hadoop-yarn apache-kafka-connect


【解决方案1】:

理论上你可以在 YARN 上运行任何东西,甚至是一个简单的 hello world 程序。这就是为什么说 Kafka-Connect 在 YARN 上运行在技术上是正确的。需要注意的是,让 Kafka-Connect 在 YARN 上运行目前需要大量的肘部油脂。有两种方法可以做到:

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

滑块

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

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

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

替代方案

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

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

教程

  • 一个很好的Mesos / Marathon教程可以找到here
  • Kubernetes教程here
  • Confluent Kubernetes Helm 图表here

【讨论】:

  • 注意:YARN 3.0 还支持 Docker 容器,并且 Slider 已被核心 YARN 项目使用。
猜你喜欢
  • 2020-12-13
  • 2020-11-01
  • 1970-01-01
  • 2016-12-24
  • 2022-01-13
  • 2021-04-12
  • 2011-11-13
  • 1970-01-01
  • 2017-03-25
相关资源
最近更新 更多