Spark 伪分布式安装教程
2016-04-13 10:20
363 查看
前言
MR跑迭代算法的局限性太大,后续想将一部分任务转移到spark上。公司其他组每天有提交Spark任务在Yarn上运行。但是他们的客户机,我们组没有权限登录,而且他们也没有相应的测试机器。于是一咬牙,一跺脚,算了,自己搭环境吧。找了台我们自己的测试机开干。动手之前,自然先要google(再一次提醒同学们,百度出来的结果基本不是你想要的。所以玩大数据的同学,如果你还没梯子,赶紧准备一个)一把相应的资料。发现伪分布式的安装过程好像不是很复杂的样子(后来事实证明,比我想象的还要简单)。还说啥,赶紧动手吧。。。
安装步骤
1.spark官网的下载地址:http://spark.apache.org/downloads.html
给大家上个spark版本信息的图
基本每隔一两个月就有新的Release版本。由此可见现在身为apache顶级项目的spark,到底有多火。。。同志们,你们再不看spark,你们就out啦。。
2.根据自己的hadoop版本,选择相应的spark版本,我选的版本是1.6.0。然后下载相应的bin版本。当然愿意折腾的同志可以自己下源码来编译。现在的时候,多选几个镜像试试,不同的镜像之间速度差距很大。天朝的墙,你懂的。
3.将下载好的.tgz包扔到你想要的任何位置,然后tar -zxvf,解压,得到解压包名为 spark-1.6.0-bin-hadoop2.4
4.先看一把里头都有些啥东东(因为文件太多,只显示一层)
[lei.wang@datanodetest03 soft]$ tree -L 1 spark-1.6.0-bin-hadoop2.4
spark-1.6.0-bin-hadoop2.4
├── bin
├── CHANGES.txt
├── conf
├── data
├── ec2
├── examples
├── lib
├── LICENSE
├── licenses
├── NOTICE
├── python
├── R
├── README.md
├── RELEASE
└── sbin
10 directories, 5 files
5.cd 到bin目录中,执行spark-shell, ./spark-shell,然后出现以下界面:
如果出现了下面的scala命令行形式,恭喜你,安装成功!
简单测试
1.scala shell命令行简单测试scala> val a = sc.parallelize(1 to 9,3)
a: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize at console:27
scala> val b = a.map(x => x*2)
b: org.apache.spark.rdd.RDD[Int] = MapPartitionsRDD[1] at map at console:29
scala> a.collect
res0: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> b.collect
res1: Array[Int] = Array(2, 4, 6, 8, 10, 12, 14, 16, 18)
2.运行自带的example
cd到bin目录下,执行run-example
[lei.wang@datanodetest03 bin]$ ./run-example org.apache.spark.examples.SparkPi 2 spark://192.168.9.228:7077
Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties
16/04/13 10:14:02 INFO SparkContext: Running Spark version 1.6.0
16/04/13 10:14:02 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
…
16/04/13 10:14:06 INFO DAGScheduler: ResultStage 0 (reduce at SparkPi.scala:36) finished in 0.670 s
16/04/13 10:14:06 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:36, took 0.874986 s
Pi is roughly 3.13466
16/04/13 10:14:06 INFO SparkUI: Stopped Spark web UI at http://192.168.9.228:4041
16/04/13 10:14:06 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
…
由此可见这个例子是计算pi值的。
注意:
1.执行命令中的2表示起两个线程跑,如果不指定这个数值,代码跑不起来,会报错。
2.如果将命名换成./run-example org.apache.spark.examples.SparkPi spark://localhost:7077,就是将本地地址换成localhost,代码也跑不起来,也会报错,具体原因暂时未知。应该是跟各种配置项有关
相关文章推荐
- 支持lua脚本的串口调试助手
- 一文教你看懂大数据的技术生态圈:Hadoop,hive,spark
- Intersection(ZOJ3862)
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- iOS开发实践教程(三)之上传AppStore流程
- 如何 打包整合linux系统文件夹 用于刷机包等等, 其中包括打包 句号开头 . 开头的文件, 排除系统文件 等
- MongoDB快速入门(九)- 投影
- 打开/关闭Oracle的审计功能
- H3C BGP
- tech news1
- oracle 归档日志文件路径设置
- Oracle实例和Oracle数据库(Oracle体系结构)
- Linux下使用uuencode发送附件
- css 盒子水平居中(确定宽度和不确定宽度)
- C语言(一个真实的故事)
- Junit4的使用和执行流程
- 基于AFNetworking3.0网络封装
- 数据结构-使用两个栈实现一个队列
- Redis Sentinel 工作原理和配置文件详解
- androidUI(ViewPager禁止滑动)