windows 本地构建hadoop-spark运行环境(hadoop-2.6, spark2.0)
- 下载hadoop
- 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
- 安装hadoop,配置HADOOP_HOME, 把${HADOOP_HOME}/bin放到path
- 下载spark
- http://spark.apache.org/downloads.html --> https://d3kbcqa49mib13.cloudfront.net/spark-2.0.2-bin-hadoop2.6.tgz 注意与hadoop版本匹配
- 安装,配置SPARK_HOME,把${SPARK_HOME}/bin放到path
- 在运行spark程序时,会报找不到 winutils.exe
- 下载 https://github.com/srccodes/hadoop-common-2.2.0-bin.git 放到${HADOOP_HOME}/bin下
- 运行时设置本地运行即可
- spark样例:
LocalSparkContext.scala
- import org.apache.spark.{SparkConf, SparkContext}
- import org.scalatest._
- trait LocalSparkContext extends BeforeAndAfterAll {
- self: Suite =>
- @transient var sc: SparkContext = _
- override def beforeAll() {
- val conf = new SparkConf()
- .setMaster("local[2]")
- .setAppName("test")
- sc = new SparkContext(conf)
- }
- override def afterAll() {
- if (sc != null) {
- sc.stop()
- }
- }
- }
SparkWCSuit.scala
- import org.apache.spark.rdd.RDD
- import org.apache.spark.sql.{Row, SQLContext}
- import org.apache.spark.util.LongAccumulator
- import org.scalatest.FunSuite
- import tool.LocalSparkContext
- import algos.{MergedPCtr, PCtrUtils}
- class SparkWCSuit extends FunSuite with LocalSparkContext {
- //rdd wordCount
- test("test rdd wc") {
- sc.setLogLevel("ERROR")
- val rdd = sc.makeRDD(Seq("a", "b", "b"))
- val res = rdd.map((_, 1)).reduceByKey(_ + _).collect().sorted
- assert(res === Array(("a", 1), ("b", 2)))
- }
- }
build.sbt
- name := "doc_rank"
- version := "1.0"
- scalaVersion := "2.10.5"
- libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "2.0.2"
- libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "2.0.2"
- libraryDependencies += "commons-cli" % "commons-cli" % "1.2"
- libraryDependencies ++= Seq(
- "org.scalanlp" %% "breeze" % "0.11.2",
- "org.scalanlp" %% "breeze-natives" % "0.11.2",
- "org.scalanlp" %% "breeze-viz" % "0.11.2"
- )
- libraryDependencies ++= Seq(
- "org.apache.hadoop" % "hadoop-core" % "2.6.0-mr1-cdh5.4.4",
- "org.apache.hbase" % "hbase-client" % "1.0.0-cdh5.4.4",
- "org.apache.hbase" % "hbase-common" % "1.0.0-cdh5.4.4",
- "org.apache.hbase" % "hbase-server" % "1.0.0-cdh5.4.4",
- "org.apache.hbase" % "hbase-protocol" % "1.0.0-cdh5.4.4"
- )
- resolvers += "Akka Repository" at "http://repo.akka.io/releases/";
- resolvers += "cloudera-repo-releases" at "https://repository.cloudera.com/artifactory/repo/";
- resolvers ++= Seq(
- "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/";,
- "Sonatype Releases" at "https://oss.sonatype.org/content/repositories/releases/";
- )
- 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.propertiespom.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());//修改前}
- 平野大荒 http://www.cnblogs.com/tq03/p/5101916.html --windows上的mapreduce运行环境
- 在前进的路上 http://blog.csdn.net/congcong68/article/details/42043093 -- access0 问题解决
- xuweimdm http://blog.csdn.net/u011513853/article/details/52865076 -- spark在windows上
windows 本地构建hadoop-spark运行环境(hadoop-2.6, spark2.0)的更多相关文章
- Spark简单介绍,Windows下安装Scala+Hadoop+Spark运行环境,集成到IDEA中
一.前言 近几年大数据是异常的火爆,今天小编以java开发的身份来会会大数据,提高一下自己的层面! 大数据技术也是有很多: Hadoop Spark Flink 小编也只知道这些了,由于Hadoop, ...
- [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境
快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ...
- 【原创干货】大数据Hadoop/Spark开发环境搭建
已经自学了好几个月的大数据了,第一个月里自己通过看书.看视频.网上查资料也把hadoop(1.x.2.x).spark单机.伪分布式.集群都部署了一遍,但经历短暂的兴奋后,还是觉得不得门而入. 只有深 ...
- Hadoop之运行环境搭建
一.虚拟机环境准备 1.克隆虚拟机 2.修改克隆虚拟机静态IP 3.修改主机名 4.关闭防火墙 5.创建hadoop用户 6.配置hadoop用户具有root权限 7.在/opt 目录下创建文件夹 1 ...
- 【Spark笔记】Windows10 本地搭建单机版Spark开发环境
0x00 环境及软件 1.系统环境 OS:Windows10_x64 专业版 2.所需软件或工具 JDK1.8.0_131 spark-2.3.0-bin-hadoop2.7.tgz hadoop-2 ...
- Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊
http://s3tools.org/s3cmd Amazon Elastic MapReduce (Amazon EMR)简介 Amazon Elastic MapReduce (Amazon EM ...
- Windows下单机安装Spark开发环境
机器:windows 10 64位. 因Spark支持java.python等语言,所以尝试安装了两种语言环境下的spark开发环境. 1.Java下Spark开发环境搭建 1.1.jdk安装 安装o ...
- Apache Spark源码走读之12 -- Hive on Spark运行环境搭建
欢迎转载,转载请注明出处,徽沪一郎. 楔子 Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于H ...
- Hive on Spark运行环境搭建
Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析.由于这一特性而收 ...
随机推荐
- 安装Window下Jenkins
之前没接触过持续集成工具,之前只是了解了下自动化部署,最近一直在看自动化集成这块,发现要学的东西好多好多,可能在小公司用的不多,但如果在大公司,如果每个项目都要手动build.deploy的话那也太耗 ...
- 【集美大学1411_助教博客】团队作业3——需求改进&系统设计 成绩
看到同学们越来越认真了,助教非常高兴.大家已经开始了alpha冲刺,请控制好进度.成功的关键就是不断迭代,不断迭代. 关于leangoo 我看到所有组的同学都已经开始使用leangoo,请大家把助教加 ...
- 事后诸葛亮分析(Beta阶段)
设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决用户想要随时锻炼四则运算能力的问题:定义的很清楚:有清晰描述. 2.是否有充足的时间来做计划? ...
- 201521123121 《Java程序设计》第3周学习总结
本周学习总结 书面作业 代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; public st ...
- 201521123013 《Java程序设计》第3周学习总结
1. 本章学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 201521123085 《Java程序设计》第一周学习总结
一 本周学习总结 学习了Java,又和老师见面了,这学期要好好学习Java了.Java这个东西刚刚接触很难懂,其实现在还是不懂,但是我会慢慢地努力地好好学,上机课第一次在黑色的框框弄出Hello wo ...
- 201521123069 《Java程序设计》 第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jm ...
- 201521123085 《Java程序设计》第11周学习总结
1. 本周学习总结 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有 ...
- Java并发之synchronized关键字
上篇文章我们主要介绍了并发的基本思想以及线程的基本知识,通过多线程我们可以实现对计算机资源的充分利用,但是在最后我们也说明了多线程给程序带来的两种典型的问题,针对它们,synchronize ...
- linux 环境NTP配置与开机自启动(转)
Linux下配置NTP服务器一.前言: 默认NTP服务端口: UDP/123 本文配置的NTP工作模式: 使用client/server方式,该方式适用于一台时间服务器接收上层 ...