我们正在amazon ec2上启动hadoop集群,最近我们遇到了像master无法连接到slave的网络问题。我们认为原因是由于亚马逊限制了网络连接。因此,我们尝试在每个从节点的随机延迟之后建立连接。但是,这没有帮助。
还有其他建议吗?
谢谢 巴拉
答案 0 :(得分:0)
您是否尝试过使用cloudera的hadoop-ec2脚本?我一直用它们为我的论文研究设置偶尔的hadoop集群,我发现它们工作得很好。设置需要几分钟,但一旦设置,你只需
hadoop-ec2 launch-cluster <clustername> <number of slaves>
它设置了你需要的所有东西,通常做得非常好。有时候,一个节点不会启动或者什么东西,但是很容易终止集群并再试一次,并且它的成本也不会太高
。您可以在此处找到有关设置的说明:
http://archive.cloudera.com/docs/ec2.html
答案 1 :(得分:0)
您是否在群集实例使用的安全组中打开了正确的端口?我不熟悉Hadoop,但如果它使用自定义TCP / IP或UDP端口进行节点之间的通信,那么您需要在安全组中指定它。
答案 2 :(得分:0)
使用Amazon Elastic MapReduce可以缓解许多问题,并为S3和节点之间以及一些AWS特定补丁提供一些IO提升,以提高稳健性。
除非你需要特定版本的Hadoop,否则远离EC2集群脚本可能是明智的,但你真的不应该这样做。