2015-06-21 83 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」);