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