我们需要安排火花作业,因为我们熟悉apache-airflow,因此我们希望继续进行该操作以创建不同的工作流程。我搜索了Web,但没有找到分步指南来安排关于气流的火花作业,也没有找到在运行master的其他服务器上运行它们的选项。
对此的答复将不胜感激。 预先感谢。
答案 0 :(得分:9)
您可以通过3种方式远程使用Apache Airflow提交Spark作业:
(1)使用SparkSubmitOperator
:该操作员希望您在我们的Airflow服务器上具有火花提交二进制文件和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命令(通过paramiko库使用SSH协议),例如spark-submit
。这种方法的好处是您无需复制hdfs-site.xml
或维护任何文件。
(3)将SimpleHTTPOperator
与Livy一起使用:Livy是一个开放源代码的REST界面,可以从任何地方与Apache Spark进行交互。您只需要进行REST调用。
我个人更喜欢 SSHOperator :)