gpt4 book ai didi

scala - MiniDFSCluster:无法访问自行创建目录的权限

转载 作者:行者123 更新时间:2023-11-28 21:36:36 29 4
gpt4 key购买 nike

我想测试一下我的代码,唤起org.apache.hadoop.hdfs.MiniDFSCluster类示例。但是,在我举一个例子的时候,我收到一条错误消息,通知我进程不会访问某些文件。我遵循了堆栈跟踪,在调试过程中我可以理解,我无法访问名为“name1”,“name2”的文件夹,这些文件夹是MiniDFSCluster在实例化过程中实际上在基本目录中创建的。

我正在尝试运行一个Scala testSuite测试文件,该文件包含从Intellij IDEA 2019.2 Windows 7中进行的类调用。
一段时间之前,我遇到了与Hadoop Mini Cluster Mock (MiniDFSCluster)中描述的问题相同的问题,但修复了该问题并面对了最后一个用户留下的问题。
我看到还有更多用户面临相同的问题,但无法提取正确的解决方案:error using miniDFSCluster on windows
返回给我的堆栈跟踪与MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0非常相似

我也找到了一些指南,建议只在本地修复引发异常的方法,但这似乎很尴尬。 https://www.cs.helsinki.fi/u/jilu/paper/hadoop_on_win.pdf

这是我的测试:

val HADOOP_HOME="C:\\Local\\hadoop-common-2.2.0-bin-master"
val conf = new Configuration()
conf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, HADOOP_HOME)
System.setProperty("hadoop.home.dir", HADOOP_HOME)

val builder = new Builder(conf)
builder.build()

结果我得到了以下堆栈跟踪:
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:557)
at org.apache.hadoop.fs.FileUtil.canWrite(FileUtil.java:996)
at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:490)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:308)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:202)

我希望使用此工具来测试我的代码,因此,请提供任何信息,我们将不胜感激。

如果您需要帮助,请尝试在Windows环境中实例化一个类,并告诉我它将返回什么。

最佳答案

最后,只需将%HADOOP_HOME%/ bin目录添加到%Path%环境变量中即可解决,就是这样...

关于scala - MiniDFSCluster:无法访问自行创建目录的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58172858/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com