我正在尝试启动我的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) at 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) at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:372) 在org.blismedia.VolumeReportGenerateUpdates.main(VolumeReportGenerateUpdates.java:156) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597) 在org.apache.hadoop.util.RunJar.main(RunJar.java:187)
答案 0 :(得分:5)
我认为你正在遇到HADOOP-2851。可以安全地忽略这个“错误”。
显然,Configuration的构造函数会将一个异常记录到调试日志中,尽管实际上没有抛出任何异常。为什么?你的猜测和我的一样好。但问题在他们的项目中得到解决,因为无法解决。 “这是一个功能,而不是一个错误。”
public Configuration(boolean loadDefaults) {
if (LOG.isDebugEnabled()) {
LOG.debug(StringUtils.stringifyException(new IOException("config()")));
}
// ...
}