无法在远程Spark集群上实现带有python的apache_beam spark Runner?

时间:2019-11-28 13:54:35

标签: apache-spark apache-beam

我正在遵循python指南beam spark runner,并且beam_pipeline可以将作业提交到-PsparkMasterUrl=spark://localhost:7077启动并带有本地火花的本地作业服务器, 以及预部署火花的附加参数./gradlew :runners:spark:job-server:runShadow -PsparkMasterUrl=yarn(also tried yarn-client)

但是我在纱线上有一个火花簇,我将启动命令设置为org.apache.spark.SparkException: Could not parse Master URL: 'yarn',但只得到parser.add_argument('--spark_master_url', default='local[4]', help='Spark master URL (spark://HOST:PORT). ' 'Use "local" (single-threaded) or "local[*]" ' '(multi-threaded) to start a local cluster for ' 'the execution.')

和火花运行器的源代码(beam \ sdks \ python \ apache_beam \ runners \ portability \ spark_runnner.py)显示:

./gradlew

它没有提及“ yarn”,并且Spark便携式流道不支持Provided SparkContext和StreamingListeners。那么,是否意味着python的apache_beam sparkRunner无法在远程spark集群(主要是纱线)上实现,并且只能在本地进行测试?也许我可以将job_endpoint设置为我的Spark集群的远程作业服务器URL。

,并且每个19/11/28 13:47:48 INFO org.apache.beam.runners.fnexecution.jobsubmission.JobServerDriver: JobService started on localhost:8099 <============-> 98% EXECUTING [16s] > IDLE > :runners:spark:job-server:runShadow > IDLE 命令的阻塞率都为98%,但是Jab服务器的启动信息如下:

Eclipse-Workspace\.metadata\.plugins\org.eclipse.jdt.core\*.index

1 个答案:

答案 0 :(得分:0)

  

这是否意味着python的apache_beam sparkRunner无法在远程spark集群上实现(主要是学习纱线)

我们最近添加了portable Spark jars,可以通过spark-submit提交。但是,直到2.19.0之前,Beam版本尚未计划包含此功能。

我创建了一个JIRA ticket来跟踪YARN支持的状态,以防需要解决其他相关问题。

  

和每个./gradlew命令被阻止在98%

这是预期的行为。作业服务器将一直运行直到被取消。