1. 下载hadoop
    1. http://hadoop.apache.org/releases.html --> http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
    2. 安装hadoop,配置HADOOP_HOME, 把${HADOOP_HOME}/bin放到path
  2. 下载spark
    1. http://spark.apache.org/downloads.html --> https://d3kbcqa49mib13.cloudfront.net/spark-2.0.2-bin-hadoop2.6.tgz 注意与hadoop版本匹配
    2. 安装,配置SPARK_HOME,把${SPARK_HOME}/bin放到path
  3. 在运行spark程序时,会报找不到 winutils.exe
    1. 下载 https://github.com/srccodes/hadoop-common-2.2.0-bin.git 放到${HADOOP_HOME}/bin下
  4. 运行时设置本地运行即可
  5. spark样例:
 
LocalSparkContext.scala
 
  1. import org.apache.spark.{SparkConf, SparkContext}
  2. import org.scalatest._
  3. trait LocalSparkContext extends BeforeAndAfterAll {
  4. self: Suite =>
  5. @transient var sc: SparkContext = _
  6. override def beforeAll() {
  7. val conf = new SparkConf()
  8. .setMaster("local[2]")
  9. .setAppName("test")
  10. sc = new SparkContext(conf)
  11. }
  12. override def afterAll() {
  13. if (sc != null) {
  14. sc.stop()
  15. }
  16. }
  17. }
 
SparkWCSuit.scala
  1. import org.apache.spark.rdd.RDD
  2. import org.apache.spark.sql.{Row, SQLContext}
  3. import org.apache.spark.util.LongAccumulator
  4. import org.scalatest.FunSuite
  5. import tool.LocalSparkContext
  6. import algos.{MergedPCtr, PCtrUtils}
  7. class SparkWCSuit extends FunSuite with LocalSparkContext {
  8. //rdd wordCount
  9. test("test rdd wc") {
  10. sc.setLogLevel("ERROR")
  11. val rdd = sc.makeRDD(Seq("a", "b", "b"))
  12. val res = rdd.map((_, 1)).reduceByKey(_ + _).collect().sorted
  13. assert(res === Array(("a", 1), ("b", 2)))
  14. }
  15. }
 
build.sbt
  1. name := "doc_rank"
  2. version := "1.0"
  3. scalaVersion := "2.10.5"
  4. libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "2.0.2"
  5. libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "2.0.2"
  6. libraryDependencies += "commons-cli" % "commons-cli" % "1.2"
  7. libraryDependencies ++= Seq(
  8. "org.scalanlp" %% "breeze" % "0.11.2",
  9. "org.scalanlp" %% "breeze-natives" % "0.11.2",
  10. "org.scalanlp" %% "breeze-viz" % "0.11.2"
  11. )
  12. libraryDependencies ++= Seq(
  13. "org.apache.hadoop" % "hadoop-core" % "2.6.0-mr1-cdh5.4.4",
  14. "org.apache.hbase" % "hbase-client" % "1.0.0-cdh5.4.4",
  15. "org.apache.hbase" % "hbase-common" % "1.0.0-cdh5.4.4",
  16. "org.apache.hbase" % "hbase-server" % "1.0.0-cdh5.4.4",
  17. "org.apache.hbase" % "hbase-protocol" % "1.0.0-cdh5.4.4"
  18. )
  19. resolvers += "Akka Repository" at "http://repo.akka.io/releases/";
  20. resolvers += "cloudera-repo-releases" at "https://repository.cloudera.com/artifactory/repo/";
  21. resolvers ++= Seq(
  22. "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/";,
  23. "Sonatype Releases" at "https://oss.sonatype.org/content/repositories/releases/";
  24. )
 
 
 
  1. hadoop样例
        
目录结构:
src/
├── main
│   ├── java
│   │   ├── io
│   │   │   └── longwind
│   │   │       └── mapreduce
│   │   │           ├── main
│   │   │           │   └── Main.java
│   │   │           ├── mapreduce
│   │   │           │   └── InfoidUniquer.java
│   │   │           └── utils
│   │   │               ├── Constant.java
│   │   │               └── HadoopUtils.java
│   │   └── org
│   │       └── apache
│   │           └── hadoop
│   │               ├── io
│   │               │   └── nativeio
│   │               │       └── NativeIO.java
│   │               └── mapred
│   │                   ├── ClientCache.java
│   │                   ├── ClientServiceDelegate.java
│   │                   ├── NotRunningJob.java
│   │                   ├── ResourceMgrDelegate.java
│   │                   ├── YarnClientProtocolProvider.java
│   │                   └── YARNRunner.java
│   └── resources
│       └── log4j.properties
└── test
    ├── java
    │   └── test
    └── resources
        └── log4j.properties
 
pom.xml中关键依赖
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0-cdh5.4.4</version>
</dependency>
 
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.6.0-cdh5.4.4</version>
</dependency>
 
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-common</artifactId>
<version>2.6.0-cdh5.4.4</version>
</dependency>
 
代码方面:
上面目录结构显示的org.apache.hadoop.* 那些是从hadoop源码包里拷出来的,注意是2.6.0-cdh5.4.4版本的
程序运行起来报错access0,如果是NativeIO.java 那应该是权限问题,需要手动修改NativeIO.java 中的
 
public static boolean access(String path, AccessRight desiredAccess)throws IOException {
    return true;//修改后
    //return access0(path, desiredAccess.accessRight());//修改前
}

这样,就能在windows本地,轻松进行hadoop, spark开发调试了,顺便吐槽一下mrunit不是很给力,问题一般是版本,包冲突,权限。
 
参考:
  1. 平野大荒 http://www.cnblogs.com/tq03/p/5101916.html --windows上的mapreduce运行环境
  2. 在前进的路上 http://blog.csdn.net/congcong68/article/details/42043093 -- access0 问题解决
  3. xuweimdm http://blog.csdn.net/u011513853/article/details/52865076 -- spark在windows上
 

windows 本地构建hadoop-spark运行环境(hadoop-2.6, spark2.0)的更多相关文章

  1. Spark简单介绍,Windows下安装Scala+Hadoop+Spark运行环境,集成到IDEA中

    一.前言 近几年大数据是异常的火爆,今天小编以java开发的身份来会会大数据,提高一下自己的层面! 大数据技术也是有很多: Hadoop Spark Flink 小编也只知道这些了,由于Hadoop, ...

  2. [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境

    快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ...

  3. 【原创干货】大数据Hadoop/Spark开发环境搭建

    已经自学了好几个月的大数据了,第一个月里自己通过看书.看视频.网上查资料也把hadoop(1.x.2.x).spark单机.伪分布式.集群都部署了一遍,但经历短暂的兴奋后,还是觉得不得门而入. 只有深 ...

  4. Hadoop之运行环境搭建

    一.虚拟机环境准备 1.克隆虚拟机 2.修改克隆虚拟机静态IP 3.修改主机名 4.关闭防火墙 5.创建hadoop用户 6.配置hadoop用户具有root权限 7.在/opt 目录下创建文件夹 1 ...

  5. 【Spark笔记】Windows10 本地搭建单机版Spark开发环境

    0x00 环境及软件 1.系统环境 OS:Windows10_x64 专业版 2.所需软件或工具 JDK1.8.0_131 spark-2.3.0-bin-hadoop2.7.tgz hadoop-2 ...

  6. Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊

    http://s3tools.org/s3cmd Amazon Elastic MapReduce (Amazon EMR)简介 Amazon Elastic MapReduce (Amazon EM ...

  7. Windows下单机安装Spark开发环境

    机器:windows 10 64位. 因Spark支持java.python等语言,所以尝试安装了两种语言环境下的spark开发环境. 1.Java下Spark开发环境搭建 1.1.jdk安装 安装o ...

  8. Apache Spark源码走读之12 -- Hive on Spark运行环境搭建

    欢迎转载,转载请注明出处,徽沪一郎. 楔子 Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于H ...

  9. Hive on Spark运行环境搭建

    Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析.由于这一特性而收 ...

随机推荐

  1. Beta的计划和人员的变动

    一.新的成员和组长是否重选: 刘光华:先加入的一个帅哥,乐于助人,编码基础不是很好,但是有一颗热爱学习的心,会积极主动的完成自己的任务的,一句话宣言:我们的团队是最棒的! 程志铭:做事认真负责,工作脚 ...

  2. 201521123102 《Java程序设计》第6周学习总结

    1. 本周学习总结 2. 书面作业 Q1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 子类要实现Clonea ...

  3. 201521123111《Java程序设计》第5周学习总结

    1. 本章学习总结 你对于本章知识的学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 1.代码阅读:Child压缩包内源代码 ...

  4. 201521123028《Java程序设计》第4周学习总结

    1. 本周学习总结 2. 书面作业 Q1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看. 对上周PTA的实验5-3中的矩形和圆形类做注释. Q2.面向对象 ...

  5. 201521123105 第11周Java学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...

  6. 201521123008《Java程序设计》第十二周学习总结

    1. 本周学习总结 2. 书面作业 将Student对象(属性:int id, String name,int age,double grade)写入文件student.data.从文件读出显示. 1 ...

  7. 201521123099 《Java程序设计》 第10周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? final ...

  8. JavaScript随笔

    文档模式 主要模式2中混杂模式和标准模式. 1混杂模式,混杂模式会让IE的行为与(包含非标准特性的)IE5相同. 2标准模式,标准模式让IE的行为更接近标准行为. 准标准模式:通过过渡型或框架集型触发 ...

  9. String ua = request.getHeader("user-agent")---ua值为null

    最近在修改错误日志,发现总报空指针,追踪代码发现这个ua的值有时候会为null,上网查了半天也无果,按常理说ua的值不可能为null,俩小时没找到原因,只是将ua判null了一下,记录一下,如果有大虾 ...

  10. docker应用笔记

    first install it: 首先安装: apt install docker.io 基本概念: 镜像:相当于虚拟机里的磁盘文件,里面有一套配置好的系统,应用程序 容器:相当于一个虚拟机实例,一 ...