我想在带cloudera 5.13.0的Windows 10 x64中在TOS for Big Data 7.0中使用Hbase在本地运行一些MapReduce作业。我的电脑上没有安装hadoop。
我在其他机器中使用hadoop 2.6.0创建了一个Maven项目,并将其作为对用户例程的依赖项添加到我的工作中。我可以成功连接到Hbase并添加新表,但是当我要提交作业MapReduce时,出现以下错误:
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:478)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirsWithOptionalPermission(RawLocalFileSystem.java:532)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:509)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:312)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:133)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:144)
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(Unknown Source)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1746)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1287)
我在网络上找到了一些解决方案。
我已经从该链接中将hadoop.dll和winutils.exe及其他文件放在C:\ winutils \ bin文件夹中,并将该文件夹添加到PATH和HADOOP_HOME中,如图所示,我还将hadoop.dll放入了C:\ Windows \ System32文件夹。但是我总是有同样的问题。