Windows Eclipse中進行WordCount報錯org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/Strin
報錯:Exception inthread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
解決: C:\Windows\System32下缺少hadoop.dll,(hadoop-3.0.0\bin目錄下)把這個檔案拷貝到C:\Windows\System32下面,重啟電腦。
繼續報錯:
Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:606)
解決:Windows的唯一方法用於檢查當前程序的請求,在給定的路徑的訪問許可權,所以我們先給以能進行訪問,我們自己先修改原始碼,return true 時允許訪問。我們下載對應hadoop原始碼,hadoop-3.0.0-src.tar 解壓,hadoop-3.0.0-src\hadoop-3.0.0-src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio
報錯:Permission denied: user=administrator, access=WRITE, inode="/":navy:supergroup:drwxr-xr-x
很顯然是是 使用者Administator在hadoop上執行寫操作時被許可權系統拒絕.
修改 hadoop fs -chmod 777 / 即可