Hadoop 配置错误

6

我试图启动我的Hadoop应用程序,但在启动过程中,在日志文件中看到以下内容,有人知道问题出在哪里吗?

正在为hdfs://10.170.4.141:9000创建文件系统 java.io.IOException: config() 在 org.apache.hadoop.conf.Configuration.(Configuration.java:229) 在 org.apache.hadoop.conf.Configuration.(Configuration.java:216) 在 org.apache.hadoop.security.SecurityUtil.(SecurityUtil.java:60) 在 org.apache.hadoop.net.NetUtils.makeSocketAddr(NetUtils.java:188) 在 org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:168) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:198) 在 org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:88) 在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1413) 在 org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:68) 在 org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1431) 在 org.apache.hadoop.fs.FileSystem.get(FileSystem.java:256) 在 org.apache.hadoop.fs.FileSystem.get(FileSystem.java:125) 在 org.apache.hadoop.fs.FileSystem.get(FileSystem.java:240) 在 org.apache.hadoop.fs.Path.getFileSystem(Path.java:187) 在 org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:372) 在 org.blismedia.VolumeReportGenerateUpdates.main(VolumeReportGenerateUpdates.java:156) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:187)


1
你是否明确指定了机器的IP地址作为输入/输出?如果您能分享您的config(),那将会很有帮助。另外,您是如何提供输入/输出的呢? - Amar
1个回答

5
我认为你遇到了HADOOP-2851。这个“错误”可以安全地忽略。
显然,Configuration的构造函数会记录一个异常到调试日志中,尽管实际上没有抛出任何异常。为什么?你和我一样猜不到。但是该问题已在他们的项目中解决,被标记为“不予修复”。“这是一个特性,而不是一个错误。”
public Configuration(boolean loadDefaults) {
  if (LOG.isDebugEnabled()) {
    LOG.debug(StringUtils.stringifyException(new IOException("config()")));
  }
  // ...
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接