亚马逊云上的Hadoop

时间:2011-11-07 19:12:49

标签: amazon-ec2 hadoop mapreduce amazon ami

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

此外,我的一些工作需要更改hadoops参数设置(特别是mapred-site.xml配置文件),是否可以更改此文件,如果可以,我如何获取对它的访问权限? hadoop已经安装在亚马逊机器上,这个文件可以访问和改变吗?

由于

1 个答案:

答案 0 :(得分:1)

你试过Amazon Elastic MapReduce吗?这是一个简单的API,可根据需要调出指定大小的Hadoop集群。

然后手动创建自己的群集会更容易。

但是,一旦默认情况下完成了作业流程,它会关闭群集,让您在S3上输出输出。如果您需要的只是简单地进行一些处理,这可能就是您的选择。

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

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

  

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

     

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

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

  

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

你究竟是怎么开始尝试的?您正在使用什么AMI?