hadoop - yarn 上的 Spark 提交 - 多项工作

标签 hadoop apache-spark hadoop-yarn

我想用 yarn 提交多个 spark-submit 作业。当我运行时

spark-submit --class myclass --master yarn --deploy-mode cluster blah blah

现在,我必须等待作业完成才能提交更多作业。我看到了心跳:

16/09/19 16:12:41 INFO yarn.Client:application_1474313490816_0015 的申请报告(状态:RUNNING) 16/09/19 16:12:42 INFO yarn.Client:application_1474313490816_0015 的申请报告(状态:RUNNING)

我怎样才能让 yarn 从同一个终端选择另一份工作。最终,我希望能够从一个脚本中运行,我可以一次性发送数百个作业。

谢谢。

最佳答案

每个用户都有一个在 yarn 配置中指定的固定容量。如果你被分配了 N 个执行器(通常,你会被分配到一些固定数量的 vcores),并且你想要运行 100 个作业,你需要为每个作业指定分配:

spark-submit --num-executors N/100 --executor-cores 5

否则,作业将循环接受。

您可以在每次调用的最后使用 & 并行启动多个作业。

for i inseq 20;执行 spark-submit --master yarn --num-executors N/100 --executor-cores 5 blah blah &;完成

关于hadoop - yarn 上的 Spark 提交 - 多项工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581388/

相关文章:

java - Spark MLlib 模型预测的正确 Java RDD 结构?

apache-spark - Oozie shell 操作为 Spark 作业抛出 NullPointerException

java - 映射函数的输出记录为零-没有错误,但映射器仍未提供任何输出。 ( map 缩小)

hadoop - Hive 加入 2 个表,一个有分区,另一个没有

hadoop - 为 Hadoop Distcp 作业设置 YARN 应用程序名称

csv - 自定义分隔符 csv 阅读器 Spark

hadoop - 如何获取hadoop目录的绝对路径

java - Spark没有注册输出操作,所以没有什么可执行的,但我正在写入文件

apache-spark - 为什么要增加 spark.yarn.executor.memoryOverhead?

apache-spark - 部署模式在 "SPARK-SUBMIT"