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

如何在YARN中运行Kafka连接工作人员?

凌长恨
2023-03-14

我正在玩Kafka-Connect。我让 HDFS 连接器在独立模式和分布式模式下工作。

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

我如何着手让< code>YARN执行工人?如果没有具体的方法,是否有通用的方法来让应用程序在< code>YARN中运行?

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

共有1个答案

郦祯
2023-03-14

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

    < li >直接与YARN API对话以获取容器,部署Kafka-Connect二进制文件并启动Kafka-Connect。 < li >使用夏羽已经在评论中提到的单独的Slider项目https://Slider . incubator . Apache . org/docs/getting _ started . html

您将不得不阅读相当多的留档来使其工作,但滑块背后的想法是,您可以让任何程序在YARN上运行,而无需处理YARN API并通过执行以下操作编写YARN应用程序主机:

  • 程序创建滑块包
  • 为包定义配置
  • 使用滑块 CLI 将应用程序部署到 YARN 上

Slider为您处理容器部署和失败容器的恢复,这很好。此外,当YARN 3.0发布时,Slider将成为YARN的一部分。

还有一个附带说明,让Kafka Connect部署在Kubernetes或Mesos/Marathon上可能会更容易。基本工作流程如下:

  • 创建Kafka-Connect docker容器或仅使用conFluent的docker容器
  • 为库伯内特斯或马拉松创建部署配置
  • 单击按钮/运行命令
  • 一个好的中观/马拉松教程可以在这里找到
  • 这里的 Kubernetes 教程
  • Confluent Kubernetes Helm Charts 在这里
 类似资料:
  • 我试图使用开源的apache kafka运行Kafka连接器(不是使用confluent) 这很好,但这种方式只启动Kafka连接工作程序,我如何加载社区连接器? 我尝试了上面的两个命令,都没有给出错误,但无法加载连接器模块。另一个问题,我键入什么命令来检查连接器的状态?

  • 我在docker容器中使用mysql服务器,可以访问docker内部。如何在本地(主机)上运行的mysql工作台中创建连接。

  • 问题内容: 我在本地计算机上设置了一个单节点Kafka Docker容器,如Confluent文档中所述(步骤2-3)。 另外,我还公开了Zookeeper的端口2181和Kafka的端口9092,以便能够从在本地计算机上运行的客户端连接到它们: 问题: 当我尝试从主机连接到Kafka时,连接失败,因为它。 这是我的Java代码: 例外: 问题: 如何连接到在Docker中运行的Kafka?我的代

  • 我有一个多线程应用程序,它使用producer类生成消息,之前我使用下面的代码为每个请求创建producer。其中KafkaProducer是新建的,每个请求如下: 然后我阅读了关于生产者的Kafka文档,并了解到我们应该使用单个生产者实例来获得良好的性能。 然后我在一个singleton类中创建了KafkaProducer的单个实例。 现在什么时候 或者我们如何在关闭后重新连接到生产者。问题是如

  • 我在docker compose yml文件中为广告侦听器配置了以下配置 警告O.apache.kafka.clients.networkclient-获取相关id为1的元数据时出错:{foo=leader_not_available} 主机可以从我的机器ping,因为它都在同一个网络中,没有防火墙问题。在docker容器中使用命令时,可以看到相同的主机名。我是不是漏掉了什么?