开发者社区> 问答> 正文

有没有办法在不同的服务器上运行master提交spark作业

社区小助手 2018-12-12 18:26:26 585

如何重命名scala数据框中的列标题
我们需要安排spark工作,因为我们熟悉apache-airflow,我们希望继续创建不同的工作流程。我搜索了网络,但没有找到如何使用Apache Airflow在不同的服务器运行主机上运行spark。

分布式计算 Apache Scala Spark
分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:20:16

    有三种方法可以远程使用Apache Airflow提交Spark作业:

    (1)使用SparkSubmitOperator:此运算符期望您在我们的Airflow服务器上设置spark-submit二进制和YARN客户端配置。它使用给定的选项调用spark-submit命令,阻塞直到作业完成并返回最终状态。好消息是,它还从spark-submit命令stdout和stderr中流式传输日志。

    我相信你真的只需要配置一个yarn-site.xml文件,以便spark-submit --master yarn --deploy-mode客户端工作。

    在YARN中部署Application Master后,Spark将在本地运行到Hadoop集群。

    如果你真的想要,你可以添加一个hdfs-site.xml并hive-site.xml从Airflow提交(如果可能的话),但是否则至少hdfs-site.xml应该从YARN容器类路径中提取文件

    (2)使用SSHOperator:使用此运算符在远程服务器上运行bash命令(使用SSH协议通过paramiko库)spark-submit。这种方法的好处是您不需要复制hdfs-site.xml或维护任何文件。

    (3)与Livy一起使用SimpleHTTPOperator:Livy是一个开源的REST接口,可以从任何地方与Apache Spark进行交互。您只需要进行REST调用。

    0 0
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题
推荐课程