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

Rag*_*tra 4 apache-spark pyspark airflow

我们需要安排火花工作,因为我们熟悉apache-airflow,我们希望继续创建不同的工作流程.我搜索了网络,但没有找到一步一步的指南来安排气流上的火花作业和选项在不同的服务器运行主机上运行它们.

对此的回答将受到高度赞赏.提前致谢.

kax*_*xil 13

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

我个人更喜欢SSHOperator :)