本节记录spark下载-->编译-->安装-->使用
首先从主站下载spark源码包(源码包更利于我们学习spark)
http://spark.apache.org/downloads.html
注意选择所需要的相对应的spark源码版本,在此我们选择使用spark-1.3.0
spark的所有版本源码全部托管在 github上面
https://github.com/apache/spark
spark 源码包编译有三种方式
1:SBT编译
2:Maven编译
3:打包编译 make-distribution.sh
note:编译spark需要maven 3.0.4+ jdk1.6+,据说spark1.5之后jdk需要1.7+版本支持
编译之前,需要调整maven 缓存大小
maven编译参数设置:
1:hdfs版本参数设置
2:yarn框架支持
3:hive 和jdbc支持
4:scala支持
注意:scala默认是2.10
spark源码包中提供了一个打包shell make-distribution.sh
我们只需要提供相应的参数,便可以完成打包
在此需要注意一下,由于国内网络限制,所以请在maven setting.xml 中配置镜像地址
配置google的域名解析器
执行编译脚本,会发现开始时间很长,原因是make-distribution.sh脚本中有一段代码是检测hive hadoop 版本信息,可以将这一段代码直接写死。
Standalone Mode配置方式
如下图为架构图
配置spark-env.sh文件 需要配置的参数如下
启动
测试运行实例
使用java 代码调用api
首先从主站下载spark源码包(源码包更利于我们学习spark)
http://spark.apache.org/downloads.html
注意选择所需要的相对应的spark源码版本,在此我们选择使用spark-1.3.0
spark的所有版本源码全部托管在 github上面
https://github.com/apache/spark
spark 源码包编译有三种方式
1:SBT编译
2:Maven编译
3:打包编译 make-distribution.sh
note:编译spark需要maven 3.0.4+ jdk1.6+,据说spark1.5之后jdk需要1.7+版本支持
编译之前,需要调整maven 缓存大小
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
maven编译参数设置:
1:hdfs版本参数设置
# Apache Hadoop 1.2.1 mvn -Dhadoop.version=1.2.1 -DskipTests clean package # Cloudera CDH 4.2.0 with MapReduce v1 mvn -Dhadoop.version=2.0.0-mr1-cdh4.2.0 -DskipTests clean package # Apache Hadoop 0.23.x mvn -Phadoop-0.23 -Dhadoop.version=0.23.7 -DskipTests clean package
2:yarn框架支持
# Apache Hadoop 2.2.X mvn -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0 -DskipTests clean package # Apache Hadoop 2.3.X mvn -Pyarn -Phadoop-2.3 -Dhadoop.version=2.3.0 -DskipTests clean package # Apache Hadoop 2.4.X or 2.5.X mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=VERSION -DskipTests clean package Versions of Hadoop after 2.5.X may or may not work with the -Phadoop-2.4 profile (they were released after this version of Spark). # Different versions of HDFS and YARN. mvn -Pyarn -Phadoop-2.3 -Dhadoop.version=2.3.0 -Dyarn.version=2.2.0 -DskipTests clean package
3:hive 和jdbc支持
# Apache Hadoop 2.4.X with Hive 13 support mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver -DskipTests clean package # Apache Hadoop 2.4.X with Hive 12 support mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-0.12.0 -Phive-thriftserver -DskipTests clean package
4:scala支持
注意:scala默认是2.10
spark源码包中提供了一个打包shell make-distribution.sh
我们只需要提供相应的参数,便可以完成打包
./make-distribution.sh --tgz -Pyarn -Phadoop-2.4 Dhadoop.version=2.4.0 -Phive-0.13.1 -Phive-thriftserver
在此需要注意一下,由于国内网络限制,所以请在maven setting.xml 中配置镜像地址
<mirror> <id>nexus-osc</id> <mirror>*</mirror> <name>Nexus osc</name> <url>http://maven.oschina.net/conyent/groups/public/</url> </morrir>
配置google的域名解析器
nameserver 8.8.8.8 nameserver 8.8.4.4
执行编译脚本,会发现开始时间很长,原因是make-distribution.sh脚本中有一段代码是检测hive hadoop 版本信息,可以将这一段代码直接写死。
VERSION=$("$MVN" help:evaluate -Dexpression=project.version 2>/dev/null | grep -v "INFO" | tail -n 1) SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\ | grep -v "INFO"\ | tail -n 1) SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\ | grep -v "INFO"\ | fgrep --count "<id>hive</id>";\ # Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\ # because we use "set -o pipefail" echo -n) ============改写成=========== VERSION=1.3.0 #spark版本 SPARK_HADOOP_VERSION=2.4.0 #hadoop版本 SPARK_HIVE=1 #支持hive
Standalone Mode配置方式
如下图为架构图
配置spark-env.sh文件 需要配置的参数如下
JAVA_HOME SCALA_HOME HADOOP_CONF_DIR SPARK_MASTER_IP SPARK_MASTER_PORT SPARK_MASTER_WEBUI_PORT SPARK_WORKER_CORES SPARK_WORKER_PORT SPARK_WORKER_WEBUI_PORT SPARK_WORKER_INSTANCES
启动
./sbin/start-master.sh //启动主节点 ./sbin/start-slave.sh //启动从节点 ./bin/spark-shell --master spark://IP:PORT //启动application
测试运行实例
scala> val textFile = sc.textFile("README.md") //加载文件到内存 textFile.count() //计算行数 textFile.first() //返回第一行 //返回一个行包含Spark的字符数组 scala> val linesWithSpark = textFile.filter(line => line.contains("Spark")) //找出包含字节最多的行 textFile.map(line => line.split(" ").size).reduce((a, b) => if (a > b) a else b) //单词统计 val wordCounts = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b) wordCounts.collect()
使用java 代码调用api
public class SimpleApp { public static void main(String[] args) { String logFile = "YOUR_SPARK_HOME/README.md"; // Should be some file on your system SparkConf conf = new SparkConf().setAppName("Simple Application"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD<String> logData = sc.textFile(logFile).cache(); long numAs = logData.filter(new Function<String, Boolean>() { public Boolean call(String s) { return s.contains("a"); } }).count(); long numBs = logData.filter(new Function<String, Boolean>() { public Boolean call(String s) { return s.contains("b"); } }).count(); System.out.println("Lines with a: " + numAs + ", lines with b: " + numBs); } }
发表评论
-
翻译一下spark sql and dataframes
2016-03-23 15:20 1575概述 spark sql 是一个结构化执行的数据模块,它并不像 ... -
Sort-based Shuffle的设计与实现
2016-03-15 08:49 760原文 http://www.cnblogs.com/hsea ... -
spark 中GC的调优
2016-03-14 11:02 1305注:本文转自:http://www.csdn.net/arti ... -
spark Tungsten-将硬件性能彻底压榨
2016-03-08 11:06 984Tungsten项目将是Spark自诞生以来内核级别的最大改动 ... -
关于Spark的Broadcast解析
2016-02-20 08:37 4490本文重点关注 数据块切分方法以及P2P下载数据方法 Broad ... -
spark的几个重要概念
2015-12-04 14:09 0本节主要记录以下几个概念 一:RDD的五大特点 二:RDD 窄 ... -
spark基本概念
2015-11-12 10:45 738记录一下课堂笔记: ... -
hadoop计算能力调度器配置
2015-10-29 10:39 970问题出现 hadoop默认调度器是FIFO,其原理就是先按照作 ... -
HBase在各大应用中的优化和改进
2015-10-28 14:59 640Facebook之前曾经透露过Facebook的hbase架构 ... -
一篇很好的解决系统问题过程描述文章
2015-09-23 08:40 462在网上看到的一篇解决h ... -
通过GeoHash核心原理来分析hbase rowkey设计
2015-09-08 15:49 3477注:本文是结合hbase ... -
从OpenTsdb来分析rowkey设计
2015-09-06 16:04 4905讨论此问题前,先理解 ... -
HBase中asynchbase的使用方式
2015-08-25 10:32 8113Hbase的原生java 客户端是完全同步的,当你使用原生AP ... -
Mapreduce优化的点滴
2015-07-16 15:18 795注:转载 1. 使用自定义Writable 自带的Text ... -
hadoop 如何自定义类型
2015-07-15 09:37 1211记录一下hadoop 数据类型章节的笔记,以便后期使用,本文是 ... -
napreduce shuffle 过程记录
2015-07-10 11:23 727在我看来 hadoop的核心是mapre ... -
ZooKeeper伪分布式集群安装及使用
2015-02-13 08:29 8821. zookeeper介绍 ZooKeeper是一个为分 ... -
hadoop-mahout 核心算法总结
2015-02-07 10:08 1505其实大家都知道hadoop为我们提供了一个大的框架,真正的 ... -
推荐引擎内部原理--mahout
2015-01-22 11:11 542转载自:https://www.ibm.com/devel ... -
hadoop 动态添加删除节点
2015-01-20 13:39 638转自:http://www.cnblogs.com/rill ...
相关推荐
Spark源代码在Eclipse中的部署、编译、运行.docSpark源代码在Eclipse中的部署、编译、运行.docSpark源代码在Eclipse中的部署、编译、运行.docSpark源代码在Eclipse中的部署、编译、运行.doc
调试spark-submit的yarn部署 spark-submit --master yarn --packages com.databricks:spark-xml_2.12:0.16.0 --py-files service-prod.zip service-index.py
调试应用 Spark 属性 重要提示 在一个安全的集群中运行 用 Apache Oozie 来运行应用程序 Kerberos 故障排查 Spark 配置 Spark 监控 指南 作业调度 Spark 安全 硬件配置 构建 Spark
如果能在实际环境安装和运行Spark,显然能够提升读者对于Spark的一些感受,对系统能有个大体的印象,有经验的技术人员甚至能够猜出一些Spark采用的编程模型、部署模式等。当你通过一些途径知道了系统的原理之后,...
如果能在实际环境安装和运行Spark,显然能够提升读者对于Spark的一些感受,对系统能有个大体的印象,有经验的技术人员甚至能够猜出一些Spark采用的编程模型、部署模式等。当你通过一些途径知道了系统的原理之后,...
安装待定屏幕截图配置选项Spark主网址(*) 这作为配置传递给执行者。 示例: spark://master.spark.cluster.com:6066 Spark Master REST HTTP URL 可选的。 如果您的Spark Masters位于负载平衡器/代理之后,则...
一、Spark3.0.0运行环境安装 Spark常见部署模式: Local模式:在本地部署单个Spark服务 所谓的Local模式,就是不需要其他任何节点资源就可以在本地执行Spark代码的环境,一般用于教学,调试,演示等。 在IDEA中运行...
基于Spark2.X的新闻话题的实时统计分析系统源码+详细部署说明.zip 一、业务需求分析 1.捕获用户浏览日志信息 2.实时分析前20名流量最高的新闻话题 3.实时统计当前线上已曝光的新闻话题 4.统计哪个时段用户浏览...
该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计基于python+Spark奥运会可视化分析系统 ...
该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 基于Python+Spark豆瓣电影爬虫和数据...
使用可以在任何环境上运行Spark作业的可视化程序提取,转换和加载 从浏览器创建和调试,然后导出到纯python代码! 特征 像docker pull一样简单地运行 使用拖放创建复杂的管道和流程 逐步调试和预览 集成的dataview...
4. 微服务:模型API和Docker部署,提供后端服务 【学习建议】 项目代码完整覆盖了大数据分析全流程。在学习过程中,需要结合代码注释和文档,了解设计思路和背后的原理。同时调试并运行示例代码,加深理解。欢迎提出改进...
1.Spark有几种部署模式,各个模式的特点 1.本地模式 Spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定。方便调试,本地模式分三类 local:只启动一个executor local[k]: 启动k个executor local:...
安装Hadoop,网络配置,SSH免密通信,Hadoop配置,启动Hadoop,安装和配置spark,eclipse配置(HDFS文件上传),外网环境向内网迁移,调试程序
最后,要进行调整,本书将继续介绍Advanced Spark,并教您一些高级主题,例如监视,配置,调试,测试以及最终部署。 说明和导航 所有代码都组织在文件夹中。 每个文件夹均以数字开头,后跟应用程序名称。 例如,...
使用 F# 探索 Spark 和 ML.NET 此存储库包含代码设想训练和部署机器学习模型,使用诸如严重违规次数、违规类型等特征来预测检查后给予餐厅的分数。先决条件 项目资产data - 原始数据集的位置。 Web API - F# Saturn ...
那些苦苦花费好几天去安装、调试 Hadoop 的初学者是最能体会到 Ambari 的方便之处的。而且,Ambari 现在所支持的平台组件也越来越多,例如流行的 Spark,Storm 等计算框架,以及资源调度平台 YARN 等,我们都能轻松...
Flink入门及实战最新内容分享,包含Flink基本原理及应用场景、Flink vs storm vs sparkStreaming、Flink入门案例-wordCount、Flink集群安装部署standalone+yarn、Flink-HA高可用、Flink scala shell代码调试
爬虫工程化:将爬虫开发作为一个工程来管理,包括但不限于版本控制、持续集成/持续部署(CI/CD)、容器化部署(如Docker)等。 大数据处理与存储:当爬取数据量巨大时,需要了解如何利用Hadoop、Spark等大数据处理...
服务器工程师岗位职责4 职责: 1、服务器、存储、工作站系统架设和维护 2、项目实施售前、售后技术支持 3、项目实施(架设、安装、调试) 岗位要求: 1、具有一年以上相关工作经验,善于沟通、善于处理客户间的关系;...