【发布时间】:2015-11-26 21:32:22
【问题描述】:
我有一个安装了 Hadoop 的 EC2 映像。但是,我将其设置为在实例化时无角色(它不是从属或主控)。为了启动 Hadoop 集群,我在 EC2 上启动了所需数量的实例(节点),然后我必须对每个节点执行以下 3 项操作:
- 更新 /etc/hosts 以包含必要的 IP 地址。
- 如果是主节点,更改 $HADOOP_HOME/conf/masters 和 $HADOOP_HOME/conf/slaves
- 启用节点之间的 SSH 访问。
我希望能够找到一种自动执行此操作的方法,以便对于任意数量的节点,我不必进入并在每个节点上设置所有这些设置。
其他人如何处理自动设置 Hadoop 集群?有没有办法自动化网络部分?
我不确定这是否可能,因为 IP 地址每次都会不同,但我想知道其他人尝试过什么或常用什么。有没有一种好方法可以自动化这些过程,所以每次我设置一个集群进行测试时,我不必为每个节点都做这些?我对Linux脚本不太了解,这可以通过脚本实现吗?还是我只需要手动配置每个节点?
【问题讨论】:
-
您有什么理由不使用 Amazon 的 Elastic MapReduce?在过去的一年里,我一直在使用它,并且效果很好 - 您创建 JAR,将数据加载到 S3 并提供您想要运行的机器数量和类型。
-
我应该澄清一下,最终目标是在我们自己的一组服务器上拥有一个独立于 AWS、CDH 等的集群。虽然服务器还不可用,所以我制作了自己的 EC2 映像,并在其上安装了 Hadoop。在我们的服务器准备好之前,我一直在使用 EC2 来测试我们拥有的东西,但是由于我最终无法使用它,所以我正在寻找一个不涉及 AWS 或 Cloudera 的答案。
标签: hadoop amazon-ec2 configuration-management