hadoop - YARN设置中的应用程序管理器

标签 hadoop apache-spark docker yarn applicationmanager

我设置了1个名称节点,2个数据节点,1个资源管理器和2个节点管理器。所有组件都作为docker容器运行。
每次当我从2台机器(2个客户端)执行spark提交( yarn 群集模式)时,作业都会按顺序完成。 Job1和Job2都进入“接受”状态,Job1变为“运行中”和“完成”状态,然后Job2被拾取并完成其执行。
这些作业有什么办法可以并行执行?
应用程序管理器如何选择这些任务以将其交给节点管理器?

最佳答案

群集设置使用YARN Capacity Scheduler ,这是大多数可用的Hadoop发行版中的默认设置。如果同一用户提交了多个作业,则它们将进入FIFO之后的同一用户队列。这是容量调度程序的默认行为。

可以将 Fair Scheduler 配置为通过共享可用资源并行运行作业。

将此属性添加到yarn-site.xml

<property>
  <name>yarn.resourcemanager.scheduler.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

在分配文件中配置公平调度程序queues
<property>
      <name>yarn.scheduler.fair.allocation.file</name>
      <value>/path/to/allocation-file.xml</value>
</property>

如果未配置此属性,则默认情况下将为每个用户创建一个队列。

关于hadoop - YARN设置中的应用程序管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41971886/

相关文章:

hadoop - Nutch 和 HBase 配置错误

hadoop - hadoop fs -getmerge中的SocketTimeoutException

scala - Spark 中的流式查询未显示任何进度

docker - 无法在 docker 容器 : Permission denied 内运行 Sonar 扫描仪

elasticsearch - 如何在运行官方 Elasticsearch docker 镜像时设置默认 'elastic' 用户密码?

HADOOP - 将文本文件复制到 HDFS 时出现问题

scala - 引发多次迭代内存不足

scala - Spark - 将数据框分成 n 条记录

hadoop - 将配置单元分区表加载到Spark Dataframe

python - 将 pyaudio 安装到 docker 容器