Hadoop 容量调度程序和 Spark

Hadoop Capacity Scheduler and Spark

如果我按照此处的说明在 yarn 中定义 CapacityScheduler 队列

http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html

如何让 spark 使用它?

我想 运行 激发作业...但它们不应占用所有集群,而是在分配了一组固定资源的 CapacityScheduler 上执行。

这可能吗...特别是在 cloudera 平台上(考虑到 cloudera 运行s on yarn 上的火花?)。

  1. 您应该根据需要通过编辑 capacity-scheduler.xml 配置 CapacityScheduler。您还需要将 yarn-site.xml 中的 yarn.resourcemanager.scheduler.class 指定为 org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 这也是当前 hadoop 版本的默认选项
  2. 将 spark 作业提交到设计的队列。

例如:

$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode cluster \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    --queue thequeue \
    lib/spark-examples*.jar \
    10

--queue表示您要提交的队列,需要符合您的CapacityScheduler配置