window下解決hadoop的Unable to load native-hadoop library的一種可行方案
首先,window7上已經(jīng)安裝了JDK1.8版本, scala2.12.5版本,hadoop2.7.0版本,spark2.2.0版本,并且配置好了相應(yīng)的環(huán)境變量。但是在cmder(一種win下替代cmd的非常強(qiáng)大的工具,內(nèi)置了Linux的一些命令,并且可以使用vim)下輸入spark-shell,結(jié)果報(bào)了三個(gè)警告。
1、?Unable to load native-hadoop library for your platform...。上網(wǎng)上看了很多教程,有建議升級(jí)glibc版本的,有認(rèn)為是32和64位版本不對(duì)的。但試了很多方案都不能解決問(wèn)題。后來(lái),看到有的博客建議到Github上下載winutils.exe,我就試著把https://github.com/steveloughran/winutils下面的hadoop2.7.1的bin文件替換了hadoop目錄下的bin文件,結(jié)果就不報(bào)錯(cuò)了,注意是整個(gè)替換bin文件,而不是只將winutils.exe添加到hadoop的bin目錄下,否則還是會(huì)報(bào)錯(cuò)的。
2、?The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx------這個(gè)錯(cuò)誤的解決參考了http://www.mamicode.com/info-detail-1474722.html這篇內(nèi)容,直接在cmder下輸入hadoop fs -chmod 777 /tmp/hive就行了。
3、 Plugin (Bundle) "org.datanucleus.api.jdo" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath.這個(gè)問(wèn)題尚未解決,但好像不影響正常使用。