我正在尝试使用在Amazon EC2上使用Hadoop和HDFS运行的Dedoop应用程序。 Hadoop集群已设置,Namenode JobTracker和所有其他守护程序正在运行且没有错误。
但战争Dedoop.war应用程序在将其部署到tomcat之后无法连接到Hadoop Namenode。
我还检查了端口是否在EC2中打开。
感谢任何帮助。
答案 0 :(得分:0)
如果您使用的是亚马逊AWS,我强烈建议您使用Amazon Elastic Map Reduce。亚马逊负责为您设置和配置Hadoop集群,包括设置IP地址,NameNode等。
如果您在EC2上设置自己的群集,则必须小心使用公共/私有IP地址。最有可能的是,您指向外部IP地址 - 您可以用内部IP地址替换它们,看看它是否有效?
答案 1 :(得分:0)
你可以从Tomcat的日志文件中发布一些Stacktrace行吗?
Dedoop必须建立一个SOCKS代理服务器(类似于ssh -D port username @ host),以便将连接传递给EC2上的Hadoop节点。这主要是因为Hadoop将puplic IPS解析为EC2内部IP,从而破坏了MR Jobs提交和HDFS管理。
为此,必须将Tomcat配置为使用ssh连接。设置过程描述为here。