07 2018 档案
摘要:1.前期准备 1.1系统和yum源镜像准备 需要的条件: ① 至少三台刚装上Centos7.0系统的物理机或者虚拟机; ② CentOS-7.0-x86_64-bin-DVD1.iso镜像,用于制作本地yum源; 注意:本文三台物理机或虚拟机的操作系统镜像是CentOS-7-x86_64-Minim
阅读全文
摘要:12. Spark环境更新 在SparkContext的初始化过程中,可能对其环境造成影响,所以需要更新环境,代码如下: SparkContext初始化过程中,如果设置了spark.jars属性,spark.jars指定的jar包将由addJar方法加入httpFileServer的jarDir变量
阅读全文
摘要:9. 启动测量系统MetricsSystem MetricsSystem使用codahale提供的第三方测量仓库Metrics。MetricsSystem中有三个概念: Instance:指定了谁在使用测量系统; Source:指定了从哪里收集测量数据; Sink:指定了从哪里输出测量数据; Spa
阅读全文
摘要:4. Hadoop相关配置及Executor环境变量的设置 4.1 Hadoop相关配置信息 默认情况下,Spark使用HDFS作为分布式文件系统,所以需要获取Hadoop相关配置信息的代码如下: 获取的配置信息包括: 将Amazon S3文件系统的AccessKeyId和SecretAccessK
阅读全文
摘要:5. 创建任务调度器TaskScheduler TaskScheduler也是SparkContext的重要组成部分,负责任务的提交,并且请求集群管理器对任务调度。TaskScheduler也可以看作任务调度的客户端。创建TaskScheduler的代码如下: createTaskScheduler
阅读全文
摘要:6.创建和启动DAGScheduler DAGScheduler主要用于在任务正式交给TaskSchedulerImpl提交之前做一些准备工作,包括:创建Job,将DAG中的RDD划分到不同的Stage,提交Stage,等等。创建DAGScheduler的代码如下: DAGScheduler的数据结
阅读全文
摘要:7. TaskScheduler的启动 第五节介绍了TaskScheduler的创建,要想TaskScheduler发挥作用,必须要启动它,代码: TaskScheduler在启动的时候,实际调用了backend的start方法,即同时启动了backend。local模式下,这里的backend是l
阅读全文
摘要:2. 创建执行环境SparkEnv SparkEnv是Spark的执行环境对象,其中包括众多与Executor执行相关的对象。由于在local模式下Driver会创建Executor,local-cluster部署模式或者Standalone部署模式下Worker另起的CoarseGrainedEx
阅读全文
摘要:3. 创建并初始化Spark UI 任何系统都需要提供监控功能,用浏览器能访问具有样式及布局并提供丰富监控数据的页面无疑是一种简单、高效的方式。SparkUI就是这样的服务。 在大型分布式系统中,采用事件监听机制是最常见的。为什么要使用事件监听机制?假如SparkUI采用Scala的函数调用方式,那
阅读全文
摘要:1.基本概念 Spark中的一些概念: RDD(resillient distributed dataset):弹性分布式数据集。 Partition:数据分区。即一个RDD的数据可以划分为多少个分区。 NarrowDependency:窄依赖,即子RDD依赖于父RDD中固定的Partition。N
阅读全文
摘要:1.准备工作 1.1 安装spark,并配置spark-env.sh 使用spark-shell前需要安装spark,详情可以参考http://www.cnblogs.com/swordfall/p/7903678.html 如果只用一个节点,可以不用配置slaves文件,spark-env.sh文
阅读全文
摘要:Submitting Applications提交应用程序 在spark的bin目录下spark-submit脚本被用于在集群中启动应用程序。它可以通过一个统一的接口来使用Spark支持的所有集群管理器(目前Spark支持的集群模式有自带的Standalone、Apache Mesos、Hadoop
阅读全文