org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)相关的知识,希望对你有一定的参考价值。

win7+eclipse+hadoop2.7.0报错!

Exception in thread "main" 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.FilterFileSystem.mkdirs(FilterFileSystem.java:305)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:133)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:147)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1287)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1308)
at com.wf.WordCount.main(WordCount.java:40)

hadoop.dll已经放到system32和SysWow64中winutils.exe也已经放到hadoop/bin目录下了。
求大神帮忙啊,跪求解答!

参考技术A 原因:是你的hadoop.dll 文件和你当前的hadoop版本不匹配。
过程:我的版本是hadoop 2.7.1,前期使用的是从网上下载的用于hadoop-2.6-x64-bin。最后导致的结果是:start-dfs.cmd可以执行,也就是hdfs系统可以启动,但是在启动start-yarn.cmd的时候,就报错和你一样。可能是createDirectoryWithMode0方法在hadoop.dll中没有做本地实现。
解决:重新编译适用于你的hadoop版本的hadoop.dll文件。我前期编译不成功,可能是项目依赖的windows sdk 7不正确,升级到windows10后,直接用visual studio 10 旗舰版编译f:\hadoop_2.7\src\hadoop-common-project\hadoop-common\src\main\native\native.sln 就可以搞定了。
如果需要,我这里有2.7.1的hadoop.dll.

在itellyou下载的系统怎么安装啊,使用软碟通,写入u盘了,不知道怎么安装

  可以的。建议用微软原版安装系统,兼容性和稳定性最好。制作U盘安装盘的步骤如下:  1、安装ultraiso这个软件。注意,要用9.0以后的版本。  2、打开UltraISO窗口,用它打开一个微软原版光盘ISO镜像。或直接拖进去。  3、点击菜单栏中的“启动”选“写入硬盘镜像”     4、接下来在弹出的窗口直接点击“写入”按钮(注:将写入方式选择为“USB-HDD+”,如果不是这个模式,可能导致电脑无法通过U盘正常启动。)    5、之后就可以U盘启动,像光盘一样装系统了。如果需要其它一些常用工具,可以在U盘里新建一个文件夹放常用工具即可。   参考技术A 可以的。建议用微软原版安装系统,兼容性和稳定性最好。制作U盘安装盘的步骤如下:
  1、安装ultraiso这个软件。注意,要用9.0以后的版本。
  2、打开UltraISO窗口,用它打开一个微软原版光盘ISO镜像。或直接拖进去。
  3、点击菜单栏中的“启动”选“写入硬盘镜像” 
  
  4、接下来在弹出的窗口直接点击“写入”按钮(注:将写入方式选择为“USB-HDD+”,如果不是这个模式,可能导致电脑无法通过U盘正常启动。)
  
  5、之后就可以U盘启动,像光盘一样装系统了。如果需要其它一些常用工具,可以在U盘里新建一个文件夹放常用工具即可。
参考技术B 你下载的原版系统,只要用软碟通写入优盘,一般就没问题了。
插上优盘,开机设置优盘第一启动,就会老式安装了。过程不同于GHOST系统,不过也是向导式的,根据向导进行就好了。有问题,拍图发上来。
参考技术C 写好以后,就像光盘安装是一样的。
设置从优盘启动,就会有安装界面了。
不过,提醒你下,msdn原版系统是没有驱动的,如果是win7,那就直接上不了网。

以上是关于org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)的主要内容,如果未能解决你的问题,请参考以下文章