【发布时间】:2015-07-28 22:30:22
【问题描述】:
前言:
我对由不再在公司工作的员工开发的 web 应用程序有疑问。由于几乎没有关于可用实施的文档,我不确定从哪里获得更多关于该问题的输入,因此问题。
我尝试找到与此问题 (Hadoop pseudo distributed mode - Datanode and tasktracker not starting) 类似的问题的解决方案。但是,由于我对 hadoop 的经验很少,我无法确定我需要修复什么才能使应用程序正常工作。
情景:
应用程序分为两部分:
- 有一个运行应用程序的 Tomcat 服务器,并且
处理用户输入并提供map reduce的结果
工作(
localhost:8080/WebApp)。 -
还有
localhost:50070的主要Hadoop 节点2.1。还有一个工作跟踪器在
localhost:8088/cluster运行
所有应用程序都在同一台 Ubuntu 机器上运行。
使用前员工部署的配置可以正常运行。我所拥有的所有关于如何启动不同服务器的文档。对于 Hadoop 集群,它是一个名为 up.sh 的脚本。
到目前为止我做了什么:
在下一步中,我想将应用程序迁移到具有静态 IP 地址的新网络。我配置了与 IT 部门数据的连接并更改了 Tomcat 服务器的 server.xml 文件,以便应用程序可以通过新的静态 IP 地址 (172.16.254.1:8080/WebApp) 使用。这是有效的
我采取的下一步是更改 /etc/hosts 文件的配置,其中旧 IP 地址被列为 hadoop 集群的主服务器。
所以我改变了这个:
127.0.0.1 localhost
192.0.2.42 master
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
到这里:
127.0.0.1 localhost
172.16.254.1 master
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
结果:
更改到位后,我可以使用up.sh 脚本启动主Hadoop 节点并通过localhost:50070 访问它。但是我无法通过localhost:8088/cluster 访问 Hadoop 作业跟踪器。
在 WebApp 中,我可以安排 map reduce 任务,但结果不正确。缺少重要数据,应由 map reduce 集群计算。
到目前为止,我发现的唯一错误指示是 hadoop-hduser-namenode.log 文件中的以下错误消息:
2015-07-28 13:57:23,713 ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...
java.net.UnknownHostException: ubuntu-machine: ubuntu-machine
at java.net.InetAddress.getLocalHost(InetAddress.java:1461)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.getHostname(MetricsSystemImpl.java:514)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configureSystem(MetricsSystemImpl.java:453)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:449)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:180)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:156)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:54)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:50)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1253)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1320)
由于调用堆栈没有提到员工开发的任何类,我认为问题出在 Hadoop/网络配置中。应用服务器的日志也没有列出任何错误。我不确定我缺少哪一部分。
如果您需要有关配置文件内容的更多信息,请告诉我,我会为您提供信息。
【问题讨论】:
标签: ubuntu hadoop hdfs hadoop-yarn