解决org.apache.hadoop.io.nativeio.NativeIO 问题。

想在单机环境下,实现一个Spark的WorldCount例子,下载好了IntelliJ IDEA 2017.2.5 x64,通过SBT构建了SCLA的SDK,手动添加了SPARK的SDK。接着写了一个DEMO:

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._


object SparkDemo {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local").setAppName("Words Count App")
    val sc = new SparkContext(conf)

    val input = sc.textFile("data/wordcount.txt")
    val words = input.flatMap(line=>line.split(" "))
    val counts = words.map(word=>(word,1)).reduceByKey{case(x,y)=>x+y}
    counts.saveAsTextFile("data/output")
    //print(words)
  }
}
运行起来报错。
org.apache.hadoop.io.nativeio.NativeIO
上度娘查了一下,发现是老问题了。原因是缺少Hadoop bin。

OK,配置环境变量,网上有现成的2.2版本的hadoop-common-2.2.0-bin-master。

结果搞了半天还是不行,这时候打开SPARK引的hadoop JAR,发现是2.7.3版本的。这才反应过来原来是版本问题。于是下载了一个新的

hadoop.dll-and-winutils.exe-for-hadoop2.7.3-on-windows_X64

这里感谢github,百度出来没有一个能用的,github上一找就有了。
附上链接:
https://github.com/rucyang/hadoop.dll-and-winutils.exe-for-hadoop2.7.3-on-windows_X64


你可能感兴趣的:(解决org.apache.hadoop.io.nativeio.NativeIO 问题。)