Airflow SparkSubmitOperator - 如何在另一台服务器中进行spark-submit-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Airflow SparkSubmitOperator - 如何在另一台服务器中进行spark-submit

2018-12-21 11:39:56 6782 1

我们的airflow 调度程序和我们的hadoop集群没有设置在同一台机器上(第一个问题:这是一个好习惯吗?)。

我们有许多需要调用pyspark脚本的自动过程。那些pyspark脚本存储在hadoop集群(10.70.1.35)中。airflow dag存储在airflow 机器(10.70.1.22)中。

目前,当我们想要使用airflow 来提交pyspark脚本时,我们使用一个简单的BashOperator,如下所示:

cmd = "ssh hadoop@10.70.1.35 spark-submit \
--master yarn \
--deploy-mode cluster \
--executor-memory 2g \
--executor-cores 2 \
/home/hadoop/pyspark_script/script.py"
t = BashOperator(task_id='Spark_datamodel',bash_command=cmd,dag=dag)
它工作得非常好。但我们想开始使用SparkSubmitOperator激发提交我们的pyspark脚本。

我试过这个:

from airflow import DAG
from datetime import timedelta, datetime
from airflow.contrib.operators.spark_submit_operator import
SparkSubmitOperator
from airflow.operators.bash_operator import BashOperator
from airflow.models import Variable

dag = DAG('SPARK_SUBMIT_TEST',start_date=datetime(2018,12,10),
schedule_interval='@daily')

sleep = BashOperator(task_id='sleep', bash_command='sleep 10',dag=dag)

_config ={'application':'hadoop@10.70.1.35:/home/hadoop/pyspark_script/test_spark_submit.py',

'master' : 'yarn',
'deploy-mode' : 'cluster',
'executor_cores': 1,
'EXECUTORS_MEM': '2G'

}

spark_submit_operator = SparkSubmitOperator(

task_id='spark_submit_job',
dag=dag,
**_config)

sleep.set_downstream(spark_submit_operator)
语法应该没问题,因为dag不会显示为已损坏。但是当它运行时它会给我以下错误:

[2018-12-14 03:26:42,600] {logging_mixin.py:95} INFO - [2018-12-14
03:26:42,600] {base_hook.py:83} INFO - Using connection to: yarn
[2018-12-14 03:26:42,974] {logging_mixin.py:95} INFO - [2018-12-14
03:26:42,973] {spark_submit_hook.py:283} INFO - Spark-Submit cmd:
['spark-submit', '--master', 'yarn', '--executor-cores', '1', '--name',
'airflow-spark', '--queue', 'root.default',
'hadoop@10.70.1.35:/home/hadoop/pyspark_script/test_spark_submit.py']
[2018-12-14 03:26:42,977] {models.py:1760} ERROR - [Errno 2] No such
file or directory: 'spark-submit'
Traceback (most recent call last):

  File "/home/dataetl/anaconda3/lib/python3.6/site- 

packages/airflow/models.py", line 1659, in _run_raw_task

result = task_copy.execute(context=context)
  File "/home/dataetl/anaconda3/lib/python3.6/site- 

packages/airflow/contrib/operators/spark_submit_operator.py", line
168,

in execute
    self._hook.submit(self._application)
  File "/home/dataetl/anaconda3/lib/python3.6/site- 

packages/airflow/contrib/hooks/spark_submit_hook.py", line 330, in
submit

    **kwargs)
  File "/home/dataetl/anaconda3/lib/python3.6/subprocess.py", line 

707,

in __init__
    restore_signals, start_new_session)
  File "/home/dataetl/anaconda3/lib/python3.6/subprocess.py", line 
1326, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'spark-submit'

这是我的问题:

我应该在我的airflow 机上安装spark hadoop吗?我问,因为在这个主题中我读到我需要复制hdfs-site.xml和hive-site.xml。但是你可以想象,我的airflow 机器上既没有/etc/hadoop/也没有/etc/hive/目录。

a)如果不是,我应该在哪里复制hdfs-site.xml并hive-site.xml在我的airflow 机器上?

b)如果是,是否意味着我需要将我的airflow 机配置为客户端?一种不参与作业但可用于提交动作的边缘节点?

那么,我spark-submit能从我的airflow 机器上取下吗?如果是的话,那么我就不需要在Airflow上创建一个连接就像我为mysql数据库创建一样,对吧?

取消 提交回答
全部回答(1)
相关问答

0

回答

服务器端解决window Defender smartScreen已阻止此不安全的下载

2020-05-23 21:08:13 579浏览量 回答数 0

1

回答

下载直播SDK时候,github.com访问不了,打不开,有没有国内的镜像可以下载呢?

2020-01-27 21:54:24 904浏览量 回答数 1

1

回答

如何在气流中使用BigQueryOperator创建视图?

2019-12-27 10:25:42 243浏览量 回答数 1

2

回答

python 3连接sqlflow 执行 train语句出错 出错

2019-07-02 15:53:15 1683浏览量 回答数 2

1

回答

ios播放SDK设置缓存无效,使用的是视频点播,播放一下卡一下,很卡,设置了变下边播

2019-03-14 17:21:23 988浏览量 回答数 1

1

回答

flink on yarn error "Yarn only has -1 virtual cores available"

2018-10-23 10:48:16 3599浏览量 回答数 1

1

回答

另一台华南的机器不能通过内网地址访问到当前服务器

2018-09-07 18:12:36 396浏览量 回答数 1

0

回答

手把手学IOT服务端API编程[13、发布消息到Topic][step by step ALI-IOT-SERVER-API]

2018-06-18 21:41:10 3449浏览量 回答数 0

1

回答

用jquery 对submit判断disabled状态

2016-07-13 10:45:45 1704浏览量 回答数 1

0

回答

如何让一台主机使用另一台主机的带宽

2014-11-17 22:32:01 6125浏览量 回答数 0
+关注
社区小助手
社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。
12
文章
824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载