【问题标题】:Hadoop Dedoop Application unable to contact Hadoop Namenode : Getting "Unable to contact Namenode" errorHadoop Dedoop 应用程序无法联系 Hadoop Namenode:出现“无法联系 Namenode”错误
【发布时间】:2013-08-28 17:53:00
【问题描述】:
我正在尝试使用在 Amazon EC2 上使用 Hadoop 和 HDFS 运行的 Dedoop 应用程序。 Hadoop 集群设置完毕,Namenode JobTracker 和所有其他守护进程都在正常运行。
但是war Dedoop.war应用在tomcat上部署后无法连接到Hadoop Namenode。
我还检查了 EC2 中的端口是否打开。
感谢任何帮助。
【问题讨论】:
标签:
hadoop
amazon-ec2
war
hdfs
【解决方案1】:
如果您使用的是 Amazon AWS,我强烈建议您使用 Amazon Elastic Map Reduce。 Amazon 负责为您设置和配置 Hadoop 集群,包括设置 IP 地址、NameNode 等。
如果您在 EC2 上设置自己的集群,则必须小心使用公共/私有 IP 地址。最有可能的是,您指向的是外部 IP 地址 - 您能否将它们替换为内部 IP 地址并查看是否有效?
【解决方案2】:
你能从 Tomcat 的日志文件中发布一些 Stacktrace 行吗?
Dedoop 必须建立一个 SOCKS 代理服务器(类似于 ssh -D 端口 username@host)以将连接传递到 EC2 上的 Hadoop 节点。这主要是因为 Hadoop 将公共 IPS 解析为 EC2 内部 IP,这会破坏 MR Jobs 提交和 HDFS 管理。
为此,必须将 Tomcat 配置为建立 ssh 连接。设置过程描述为here。