Amazon Elastic MapReduce 中的容量调度程序

Posted

技术标签:

【中文标题】Amazon Elastic MapReduce 中的容量调度程序【英文标题】:Capacity scheduler in Amazon Elastic MapReduce 【发布时间】:2014-08-28 13:49:13 【问题描述】:

我对 Amazon Elastic MapReduce 完全陌生。我需要使用基于 Hadoop 容量调度程序实现的自定义调度程序在 Amazon Elastic MapReduce 中调度我的作业。

根据我目前的理解,要实现这一点,我可以在作业流程中只定义一个阶段,并通过 SSH 连接将我的自定义 jar 文件提交到主节点。但是,我找不到如何编辑 xml 配置文件,例如 master 节点中的 capacity-scheduler.xml。有谁知道该怎么做?

此外,如果我想在其上添加动态调整大小属性,我可以在作业当前运行时动态调整集群中任务节点的数量吗?或者在每个阶段,集群的大小应该保持不变?非常感谢。

【问题讨论】:

【参考方案1】:

您应该使用引导操作来更改 Hadoop 配置。

Hadoop 配置引导操作可以参考以下 AWS 文档。http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html#PredefinedbootstrapActions_ConfigureHadoop

我收藏的这篇博客文章也有一些信息。 http://sujee.net/tech/articles/hadoop/amazon-emr-beyond-basics/

要动态更改集群大小,一种选择是使用 AWS 开发工具包。http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/calling-emr-with-java-sdk.html

使用以下界面可以修改实例组的实例计数。 http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/AmazonElasticMapReduce.html

【讨论】:

对于第一个链接,“capacity-scheduler.xml”似乎不在 xml 文件的可编辑范围内。而且,下面的文档似乎没有提到我们是否可以在作业运行时添加注释。如果 Amazon EMR 可以做到以上,我仍然有点困惑。

以上是关于Amazon Elastic MapReduce 中的容量调度程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 Karmasphere Analyst 和 Amazon Elastic MapReduce 设置 jobconf 参数

运行依赖于 Numpy 的 Amazon Elastic Mapreduce 作业的方法是啥?

Amazon Elastic MapReduce - 从 S3 到 DynamoDB 的大量插入非常慢

如何在没有 Amazon GUI 的情况下在 Elastic MapReduce 上自动运行 Pig Batch 作业?

Elastic MapReduce 中可用的 reducer

Amazon Elastic BeanStalk 错误:无法创建 AWS Elastic Beanstalk 应用程序版本