开发者社区> 问答> 正文

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

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

展开
收起
社区小助手 2018-12-12 18:26:26 2375 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    有三种方法可以远程使用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调用。

    2019-07-17 23:20:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS块储存产品全面解析 立即下载