0

我正在尝试在 Amazon Cloud 上进行设置以运行一些 hadoop MapReduce 作业,但我正在努力成功创建集群。我已经下载了 ec2 文件,拥有我的证书和密钥对文件,但我相信是 AMI 给我带来了麻烦。如果我尝试运行具有一个主节点和 n 个从节点的集群,我会使用标准兼容的 AMI 启动 n+1 个实例,然后在终端中运行代码“hadoop-ec2 启动集群名称 n”。主节点成功,但是当从节点开始启动时出现错误,说“缺少参数 -h(AMI 丢失)”,我不完全确定如何进行。

此外,我的一些工作需要更改 hadoops 参数设置(特别是 mapred-site.xml 配置文件),是否可以更改此文件,如果可以,我如何访问它?亚马逊机器上是否已经安装了 hadoop,并且该文件可以访问和更改?

谢谢

4

1 回答 1

1

您是否尝试过Amazon Elastic MapReduce?这是一个简单的 API,可以按需启动指定大小的 Hadoop 集群。

这比手动创建自己的集群更容易。

但是一旦作业流程默认完成,它就会关闭集群,在 S3 上留下输出。如果你需要做的只是做一些碾压,这可能是要走的路。

如果您需要永久存储 HDFS 内容(例如,如果您在 Hadoop 之上运行 HBase),您实际上可能需要在 EC2 上拥有自己的集群。在这种情况下,您可能会发现 Cloudera 为 Amazon EC2 分发的 Hadoop 很有用。

可以使用EC2 Bootstrap Actions更改将要启动的节点上的 Hadoop 配置:

问:如何为我的工作流程配置 Hadoop 设置?

Elastic MapReduce 默认 Hadoop 配置适用于大多数工作负载。但是,根据您的作业流程的特定内存和处理要求,调整这些设置可能是合适的。例如,如果您的作业流任务是内存密集型的,您可以选择每个核心使用更少的任务并减少您的作业跟踪器堆大小。对于这种情况,预定义的引导操作可用于在启动时配置您的作业流程。有关配置详细信息和使用说明,请参阅开发人员指南中的配置内存密集型引导操作。提供了一个额外的预定义引导操作,允许您将集群设置自定义为您选择的任何值。请参阅配置 Hadoop 引导操作在开发人员指南中获取使用说明。

关于您启动集群的方式,请澄清:

如果我尝试运行具有一个主节点和 n 个从节点的集群,我会使用标准兼容的 AMI 启动 n+1 个实例,然后在终端中运行代码“hadoop-ec2 启动集群名称 n”。主节点成功,但是当从节点开始启动时出现错误,说“缺少参数 -h(AMI 丢失)”,我不完全确定如何进行。

你究竟是如何尝试启动它的?您使用的究竟是什么 AMI?

于 2011-11-08T07:51:38.903 回答