对于我的最后一年项目,我需要在我的大学实验室中 Build 一个小型的hadoop集群 . 我之前曾在hadoop上工作,但只在伪集群中工作过 . 现在我们面前的任务是在我们拥有的所有计算机上安装ubuntu,然后在每个计算机中设置hadoop . 我计划在ubuntu 12.04中使用自定义的hadoop用户iso来做到这一点 .
我在想做什么1.在所有系统中安装ISO . 2.如果1正确完成,则转到在每个系统上配置hadoop但这很棘手,因为实验室计算机的所有ip都是动态的并且不断变化 . 那么有什么方法可以绑定这些pc的mac地址,每当这些mac地址出现时,主节点都可以将它们包含在集群中 .
我有很多不确定因素,比如
1.有更好的方法可以做到这一点 . 通过自动化这部分内容?我最好在每台机器上使用虚拟盒和hadoop iso吗? 3.我在hadoop 1中有一些经验,但hadoop 2现在出来所以我应该使用hadoop 2还是应该使用hadoop 1 .
有什么建议?我该怎么办?
2 回答
内部IP是否也一直在变化?据我所知,没有简单的方法来使用MAC地址 - 您需要在环境中有一些确定性 . 如果计算机彼此连接,则必须在某处具有所需信息,例如在hosts文件中 .
如果您有很多计算机,我建议使用一些木偶脚本或只是bash脚本自动执行该过程 - 我不建议使用虚拟机,因为虚拟化可能会给您带来更多问题 .
如果你的任务只是安装和配置hadoop而你真的不需要做任何特别的事情,那么就去使用你熟悉的版本 .
@palash kulshreshtha,我也在你的位置,但我可以拥有静态IP . 我在我的学院为我的项目设置了5台计算机中的hadoop 2.4.1集群 .
建议您在所有计算机上安装Ubuntu,并为多节点执行hadoop配置,而不是使用Cloudera的VM,甚至是Ubuntu的虚拟机,因为虚拟机会降低速度 .
至于动态IP,如果设备在最近30秒内(或者你的arp超时设置为)在同一网络上进行通信,那么在Ubuntu终端中使用此命令
arp -a
可以看到其IP和MAC .您可以编写一个简单的python脚本来遍历所有主机,并找到具有您想要的MAC地址的设备的IP .
有关Hadoop安装的帮助,请访问www.kishorer.in
干杯 .