gpt4 book ai didi

apache-spark - 在 EMR 集群外运行 Spark Client 并连接到 YARN

转载 作者:行者123 更新时间:2023-12-02 03:08:45 26 4
gpt4 key购买 nike

我有以下场景:

  1. 我在一家大公司工作。
  2. 我们有一个在 YARN 上运行 Spark/Hadoop 堆栈的 EMR 集群。
  3. 我可以通过 SSH 连接到集群的主节点,然后从那里可以毫无问题地创建 Spark shell 或将作业提交到 Spark 集群。
  4. 但是,我想在我公司的服务器上运行 Spark 客户端,因为我们所有的代码库都在那里,因此我能够在该服务器上进行积极的开发,因为我可以 git clone 并推送到位于的存储库在我公司的服务器上。我不想将所有公司代码都转移到 AWS 的主节点上进行积极的开发。
  5. 那么,如何修改 Spark 设置以使用 AWS 的 YARN 作为资源管理器?
  6. 我尝试复制 Spark 安装(在 /user/lib/spark 中)和 HADOOP_CONF_DIR(在 /etc/hadoop/conf 中) EMR 集群的主节点转移到我公司的服务器上,但 Spark 不识别 YARN。

谢谢。

编辑:将主题行和正文中的“驱动程序”更改为“客户”。

最佳答案

这在独立模式下是可能的,但在 yarn 模式下是不可能的。

当 spark 在 yarn 模式下运行时,它无法控制 executor、AM 和 driver 的位置。

Yarn 检查每个任务节点上的内存使用情况和数据可用性,并在理想情况下旋转这些组件。

因此,即使您设法将外部节点添加到 yarn(显然您可以这样做),也只需设置适当的配置并在 yarn 的资源管理器上运行 admin refresh。但是,您也无法确定您的 Spark 驱动程序将在何处运行。

更新完全有可能做到这一点。以下是您需要做的事情。

  1. 设置 livy 服务器。这是一个基于休息的 Spark 通信服务器,可以与 yarn 对话。如果您有像 cloudera 或 HDP 这样的发行版,只需点击 UI 上的一些按钮即可。
  2. 设置 GUI,如 Zappelin 或 Apache Hue,并正确配置它以与 livy 服务器通信。

Livy 服务器将位于 AWS 的开放端口上,您的本地系统或外部节点可以与之通信。 Hue 或 Zappelin 可以在您的外部节点上。

关于apache-spark - 在 EMR 集群外运行 Spark Client 并连接到 YARN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com