2015-06-21 87 views
3

我在Windows上安装/配置Hadoop hadoop-2.7.0Windows上的Hadoop。 YARN无法启动java.lang.UnsatisfiedLinkError

我可以成功启动“sbin \ start-dfs”运行命令。 DataNode和NameNode已启动。 我可以创建目录,将文件添加到hadoop系统。

但现在当我在“resourcemanager”窗口上尝试“sbin/start-yarn”时,我看不到错误。但failes上线的 “NameNode的”

它失败,此错误: -

15/06/21 17:26:49 INFO impl.MetricsConfig: loaded properties from hadoop-metrics 
2.properties 
15/06/21 17:26:49 INFO impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s). 
15/06/21 17:26:49 INFO impl.MetricsSystemImpl: NodeManager metrics system started 
15/06/21 17:26:49 FATAL nodemanager.NodeManager: Error starting NodeManager 
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V 
     at org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Native Method) 
     at org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode(NativeIO.java:524) 
     at org.apache.hadoop.fs.RawLocalFileSystem.mkOneDirWithMode(RawLocalFileSystem.java:473) 
     at org.apache.hadoop.fs.RawLocalFileSystem.mkdirsWithOptionalPermission(RawLocalFileSystem.java:526) 
     at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:504) 
     at org.apache.hadoop.fs.FileSystem.primitiveMkdir(FileSystem.java:1064) 
     at org.apache.hadoop.fs.DelegateToFileSystem.mkdir(DelegateToFileSystem.java:161) 
     at org.apache.hadoop.fs.FilterFs.mkdir(FilterFs.java:197) 
     at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:730) 
     at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:726) 
     at org.apache.hadoop.fs.FSLinkResolver.resolve(FSLinkResolver.java:90) 
     at org.apache.hadoop.fs.FileContext.mkdir(FileContext.java:726) 
     at org.apache.hadoop.yarn.server.nodemanager.DirectoryCollection.createDir(DirectoryCollection.java:365) 
     at org.apache.hadoop.yarn.server.nodemanager.DirectoryCollection.createNonExistentDirs(DirectoryCollection.java:199) 
     at org.apache.hadoop.yarn.server.nodemanager.LocalDirsHandlerService.serviceInit(LocalDirsHandlerService.java:152) 
     at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) 
     at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107) 
     at org.apache.hadoop.yarn.server.nodemanager.NodeHealthCheckerService.serviceInit(NodeHealthCheckerService.java:48) 
     at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) 
     at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107) 
     at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:254) 
     at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) 
     at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:463) 
     at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:511) 
15/06/21 17:26:49 INFO impl.MetricsSystemImpl: Stopping NodeManager metrics system... 
15/06/21 17:26:49 INFO impl.MetricsSystemImpl: NodeManager metrics system stopped. 
15/06/21 17:26:49 INFO impl.MetricsSystemImpl: NodeManager metrics system shutdown complete. 
15/06/21 17:26:49 INFO nodemanager.NodeManager: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NodeManager at idea-PC/27.4.177.205 
************************************************************/ 

我曾经遇到过类似的问题,而 “sbin目录\启动DFS”。我尝试了不同的事情。看起来好像当我在路径中添加hadoop的“bin”和“sbin”时已经解决了。

您能否提出针对纱线问题的解决方案?

回答

1

应该有一个%HADOOP_HOME%\bin\hadoop.dll其中包含native method%HADOOP_HOME%\bin应该在路径中。如果您是从源代码构建的,请确保hadoop.dll已构建并放置。

1

如果你看看这里缺少的native method的历史,你会发现它最近被添加了。

因此,此错误意味着您使用较新版本的Hadoop,但您的hadoop.dll来自旧版本的Hadoop。

因此,检索/构建一个新的hadoop.dll或降级Hadoop应该避免这个问题。

对我来说,降级到Hadoop 2.3.0的确有窍门。

0

在我的情况下,这是一个例外,因为Hadoop没有找到预编译的'hadoop'DLL。我已经将hadoop.dll文件夹的路径放入PATH环境变量中,并解决了问题。

你得到的异常的描述是误导性的,原始异常抛出java.lang.ClassLoader类:抛出新的UnsatisfiedLinkError(“no”+名称+“在java.library.path”);