
- 基 于
- MapReduce算法实现的分布式计算
- 最新版本
- 2.4.0
- 外文名
- Spark
-
Spark
2020-04-22 10:59:32什么是Spark Spark特点 Spark运行模式 Spark编写代码 SparkCore 什么是RDD RDD的主要属性 RDD的算子分为两类: Rdd数据持久化什么作用? cache和Checkpoint的区别 什么是宽窄依赖 什么是DAG DAG边界 ...目录
什么是Spark
基于内存的,用于大规模数据处理(离线计算、实时计算、快速查询(交互式查询))的统一分析引擎。
Spark特点
快:
Spark计算速度是MapReduce计算速度的10-100倍
易用:(算法多)
MR支持1种计算模型,Spsark支持更多的计算模型。
通用:
Spark 能够进行离线计算、交互式查询(快速查询)、实时计算、机器学习、图计算等
兼容性:
Spark支持大数据中的Yarn调度,支持mesos。可以处理hadoop计算的数据
Spark运行模式
1.local本地模式(单机)--开发测试使用
2.standalone独立集群模式--开发测试使用
3.standalone-HA高可用模式--生产环境使用
4.on yarn集群模式--生产环境使用
5.on cloud集群模式--中小公司未来会更多的使用云服务
Spark编写代码
- 创建一个 Sparkconf对象,设置app名称
- 创建一个SparkContext,
- 读取数据,对数据进行计算
- 保存数据
SparkCore
什么是RDD
弹性分布式数据集(数据存储在内存),一个不可变、可分区、里面的元素可并行计算的集合
RDD的主要属性
1、数据集的基本组成单位是一组分片(Partition)或一个分区(Partition)列表
每个分片都会被一个计算任务处理,分片数决定并行度。
2、一个函数会被作用在每一个分区。
3、一个RDD会依赖于其他多个RDD,RDD的每次转换都会生成一个新的RDD
RDD的算子分为两类:
1.Transformation转换操作:返回一个新的RDD
2.Action动作操作:返回值不是RDD
惰性计算,遇到Transformation不计算,遇到Action在真正计算。
Rdd数据持久化什么作用?
1、对多次使用的rdd进行缓存,缓存到内存,当后续频繁使用时直接在内存中读取缓存的数据,不需要重新计算。 (Persist、Cache)
2、将RDD结果写入硬盘(容错机制),当RDD丢失数据时,或依赖的RDD丢失数据时,可以使用持久化到硬盘的数据恢复。(MEMORY_ONLY(默认)、MEMORY_AND_DISK、DISK_ONLY)
SparkContext.setCheckpointDir("目录") //HDFS的目录
RDD.checkpoint()
cache和Checkpoint的区别
位置
Persist 和 Cache将数据保存在内存
Checkpoint将数据保存在HDFS
生命周期
Persist 和 Cache 程序结束后会被清除或手动调用unpersist方法。
Checkpoint永久存储不会被删除。
RDD依赖关系(血统Lineage)
Persist和Cache,不会丢掉RDD间的依赖链/依赖关系
Checkpoint会斩断依赖链
什么是宽窄依赖
窄依赖:父RDD的一个分区只会被子RDD的一个分区依赖
宽依赖:父RDD的一个分区会被子RDD的多个分区依赖(涉及到shuffle)
什么是DAG
DAG:指的是数据转换执行的过程,有方向,无闭环(其实就是RDD执行的流程)
DAG边界
开始:通过SparkContext创建的RDD
结束:触发Action,一旦触发Action就形成了一个完整的DAG
说明:
一个Spark应用中可以有一到多个DAG,取决于触发了多少次Action
一个DAG中会有不同的阶段/stage,划分阶段/stage的依据就是宽依赖
一个阶段/stage中可以有多个Task,一个分区对应一个Task
Spark概念
1.Application:指的是用户编写的Spark应用程序/代码,包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码。
2.Driver:Spark中的Driver即运行上述Application的Main()函数并且创建SparkContext,SparkContext负责和ClusterManager通信,进行资源的申请、任务的分配和监控等
3.Cluster Manager:指的是在集群上获取资源的外部服务,Standalone模式下由Master负责,Yarn模式下ResourceManager负责;
4.Executor:是运行在工作节点Worker上的进程,负责运行任务,并为应用程序存储数据,是执行分区计算任务的进程;
5.RDD:Resilient Distributed Dataset弹性分布式数据集,是分布式内存的一个抽象概念;
6.DAG:Directed Acyclic Graph有向无环图,反映RDD之间的依赖关系和执行流程;
7.Job:作业,按照DAG执行就是一个作业;Job==DAG
8.Stage:阶段,是作业的基本调度单位,同一个Stage中的Task可以并行执行,多个Task组成TaskSet任务集
9.Task:任务,运行在Executor上的工作单元,一个Task计算一个分区,包括pipline上的一系列操作
Spark执行任务的基本流程
1.Spark应用被提交-->SparkContext向资源管理器注册并申请资源 (??) -->启动Executor
2.RDD-->构建DAG-->DAGScheduler划分Stage形成TaskSet-->TaskScheduler提交Task-->Worker上的Executor执行Task
-
【Spark】Spark基础教程
2019-03-20 12:33:42Spark最初由美国加州伯克利大学的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。 Spark特点 Spark具有如下几个主要特点: 运行速度快:Spark使用先进...Spark最初由美国加州伯克利大学的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。
Spark特点
Spark具有如下几个主要特点:
- 运行速度快:Spark使用先进的DAG(Directed Acyclic Graph,有向无环图)执行引擎,以支持循环数据流与内存计算,基于内存的执行速度可比Hadoop MapReduce快上百倍,基于磁盘的执行速度也能快十倍;
- 容易使用:Spark支持使用Scala、Java、Python和R语言进行编程,简洁的API设计有助于用户轻松构建并行程序,并且可以通过Spark Shell进行交互式编程;
- 通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件,这些组件可以无缝整合在同一个应用中,足以应对复杂的计算;
- 运行模式多样:Spark可运行于独立的集群模式中,或者运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源。
Spark相对于Hadoop的优势
Hadoop虽然已成为大数据技术的事实标准,但其本身还存在诸多缺陷,最主要的缺陷是其MapReduce计算模型延迟过高,无法胜任实时、快速计算的需求,因而只适用于离线批处理的应用场景。
回顾Hadoop的工作流程,可以发现Hadoop存在如下一些缺点:
- 表达能力有限。计算都必须要转化成Map和Reduce两个操作,但这并不适合所有的情况,难以描述复杂的数据处理过程;
- 磁盘IO开销大。每次执行时都需要从磁盘读取数据,并且在计算完成后需要将中间结果写入到磁盘中,IO开销较大;
- 延迟高。一次计算可能需要分解成一系列按顺序执行的MapReduce任务,任务之间的衔接由于涉及到IO开销,会产生较高延迟。而且,在前一个任务执行完成之前,其他任务无法开始,难以胜任复杂、多阶段的计算任务。
Spark主要具有如下优点:
- Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比MapReduce更灵活;
- Spark提供了内存计算,中间结果直接放到内存中,带来了更高的迭代运算效率;
- Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。
Spark最大的特点就是将计算数据、中间结果都存储在内存中,大大减少了IO开销
Spark提供了多种高层次、简洁的API,通常情况下,对于实现相同功能的应用程序,Spark的代码量要比Hadoop少2-5倍。
但Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型。实际上,Spark已经很好地融入了Hadoop生态圈,并成为其中的重要一员,它可以借助于YARN实现资源调度管理,借助于HDFS实现分布式存储。
Spark生态系统
Spark的生态系统主要包含了Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX 等组件,各个组件的具体功能如下:
- Spark Core:Spark Core包含Spark的基本功能,如内存计算、任务调度、部署模式、故障恢复、存储管理等。Spark建立在统一的抽象RDD之上,使其可以以基本一致的方式应对不同的大数据处理场景;通常所说的Apache Spark,就是指Spark Core;
- Spark SQL:Spark SQL允许开发人员直接处理RDD,同时也可查询Hive、HBase等外部数据源。Spark SQL的一个重要特点是其能够统一处理关系表和RDD,使得开发人员可以轻松地使用SQL命令进行查询,并进行更复杂的数据分析;
- Spark Streaming:Spark Streaming支持高吞吐量、可容错处理的实时流数据处理,其核心思路是将流式计算分解成一系列短小的批处理作业。Spark Streaming支持多种数据输入源,如Kafka、Flume和TCP套接字等;
- MLlib(机器学习):MLlib提供了常用机器学习算法的实现,包括聚类、分类、回归、协同过滤等,降低了机器学习的门槛,开发人员只要具备一定的理论知识就能进行机器学习的工作;
- GraphX(图计算):GraphX是Spark中用于图计算的API,可认为是Pregel在Spark上的重写及优化,Graphx性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法。
Spark基本概念
在具体讲解Spark运行架构之前,需要先了解几个重要的概念:
- RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型;
- DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系;
- Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为应用程序存储数据;
- 应用:用户编写的Spark应用程序;
- 任务:运行在Executor上的工作单元;
- 作业:一个作业包含多个RDD及作用于相应RDD上的各种操作;
- 阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。
Spark结构设计
Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)。其中,集群资源管理器可以是Spark自带的资源管理器,也可以是YARN或Mesos等资源管理框架。
Spark各种概念之间的关系
在Spark中,一个应用(Application)由一个任务控制节点(Driver)和若干个作业(Job)构成,一个作业由多个阶段(Stage)构成,一个阶段由多个任务(Task)组成。当执行一个应用时,任务控制节点会向集群管理器(Cluster Manager)申请资源,启动Executor,并向Executor发送应用程序代码和文件,然后在Executor上执行任务,运行结束后,执行结果会返回给任务控制节点,或者写到HDFS或者其他数据库中。
Executor的优点
与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:
- 利用多线程来执行具体的任务(Hadoop MapReduce采用的是进程模型),减少任务的启动开销;
- Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,当需要多轮迭代计算时,可以将中间结果存储到这个存储模块里,下次需要时,就可以直接读该存储模块里的数据,而不需要读写到HDFS等文件系统里,因而有效减少了IO开销;或者在交互式查询场景下,预先将表缓存到该存储系统上,从而可以提高读写IO性能。
Spark运行基本流程
Spark的基本运行流程如下:
- 当一个Spark应用被提交时,首先需要为这个应用构建起基本的运行环境,即由任务控制节点(Driver)创建一个SparkContext,由SparkContext负责和资源管理器(Cluster Manager)的通信以及进行资源的申请、任务的分配和监控等。SparkContext会向资源管理器注册并申请运行Executor的资源;
- 资源管理器为Executor分配资源,并启动Executor进程,Executor运行情况将随着“心跳”发送到资源管理器上;
- SparkContext根据RDD的依赖关系构建DAG图,DAG图提交给DAG调度器(DAGScheduler)进行解析,将DAG图分解成多个“阶段”(每个阶段都是一个任务集),并且计算出各个阶段之间的依赖关系,然后把一个个“任务集”提交给底层的任务调度器(TaskScheduler)进行处理;Executor向SparkContext申请任务,任务调度器将任务分发给Executor运行,同时,SparkContext将应用程序代码发放给Executor;
- 任务在Executor上运行,把执行结果反馈给任务调度器,然后反馈给DAG调度器,运行完毕后写入数据并释放所有资源。
Spark运行架构的特点
Spark运行架构具有以下特点:
- 每个应用都有自己专属的Executor进程,并且该进程在应用运行期间一直驻留。Executor进程以多线程的方式运行任务,减少了多进程任务频繁的启动开销,使得任务执行变得非常高效和可靠;
- Spark运行过程与资源管理器无关,只要能够获取Executor进程并保持通信即可;
- Executor上有一个BlockManager存储模块,类似于键值存储系统(把内存和磁盘共同作为存储设备),在处理迭代计算任务时,不需要把中间结果写入到HDFS等文件系统,而是直接放在这个存储系统上,后续有需要时就可以直接读取;在交互式查询场景下,也可以把表提前缓存到这个存储系统上,提高读写IO性能;
- 任务采用了数据本地性和推测执行等优化机制。数据本地性是尽量将计算移到数据所在的节点上进行,即“计算向数据靠拢”,因为移动计算比移动数据所占的网络资源要少得多。而且,Spark采用了延时调度机制,可以在更大的程度上实现执行过程优化。比如,拥有数据的节点当前正被其他的任务占用,那么,在这种情况下是否需要将数据移动到其他的空闲节点呢?答案是不一定。因为,如果经过预测发现当前节点结束当前任务的时间要比移动数据的时间还要少,那么,调度就会等待,直到当前节点可用。
Spark的部署模式
Spark支持的三种典型集群部署方式,即standalone、Spark on Mesos和Spark on YARN;然后,介绍在企业中是如何具体部署和应用Spark框架的,在企业实际应用环境中,针对不同的应用场景,可以采用不同的部署应用方式,或者采用Spark完全替代原有的Hadoop架构,或者采用Spark和Hadoop一起部署的方式。
Spark三种部署方式
Spark应用程序在集群上部署运行时,可以由不同的组件为其提供资源管理调度服务(资源包括CPU、内存等)。比如,可以使用自带的独立集群管理器(standalone),或者使用YARN,也可以使用Mesos。因此,Spark包括三种不同类型的集群部署方式,包括standalone、Spark on Mesos和Spark on YARN。
1.standalone模式
与MapReduce1.0框架类似,Spark框架本身也自带了完整的资源调度管理服务,可以独立部署到一个集群中,而不需要依赖其他系统来为其提供资源管理调度服务。在架构的设计上,Spark与MapReduce1.0完全一致,都是由一个Master和若干个Slave构成,并且以槽(slot)作为资源分配单位。不同的是,Spark中的槽不再像MapReduce1.0那样分为Map 槽和Reduce槽,而是只设计了统一的一种槽提供给各种任务来使用。
2.Spark on Mesos模式
Mesos是一种资源调度管理框架,可以为运行在它上面的Spark提供服务。Spark on Mesos模式中,Spark程序所需要的各种资源,都由Mesos负责调度。由于Mesos和Spark存在一定的血缘关系,因此,Spark这个框架在进行设计开发的时候,就充分考虑到了对Mesos的充分支持,因此,相对而言,Spark运行在Mesos上,要比运行在YARN上更加灵活、自然。目前,Spark官方推荐采用这种模式,所以,许多公司在实际应用中也采用该模式。
3. Spark on YARN模式
Spark可运行于YARN之上,与Hadoop进行统一部署,即“Spark on YARN”,其架构如图9-13所示,资源管理和调度依赖YARN,分布式存储则依赖HDFS。
Hadoop和Spark的统一部署
一方面,由于Hadoop生态系统中的一些组件所实现的功能,目前还是无法由Spark取代的,比如,Storm可以实现毫秒级响应的流计算,但是,Spark则无法做到毫秒级响应。另一方面,企业中已经有许多现有的应用,都是基于现有的Hadoop组件开发的,完全转移到Spark上需要一定的成本。因此,在许多企业实际应用中,Hadoop和Spark的统一部署是一种比较现实合理的选择。
由于Hadoop MapReduce、HBase、Storm和Spark等,都可以运行在资源管理框架YARN之上,因此,可以在YARN之上进行统一部署(如图9-16所示)。这些不同的计算框架统一运行在YARN中,可以带来如下好处:- 计算资源按需伸缩;
- 不用负载应用混搭,集群利用率高;
- 共享底层存储,避免数据跨集群迁移。
-
HDP2.6.5更换spark版本为2.4.5 与carbondata2.0.1集成
2020-06-29 15:56:32文章目录一更换spark版本第一种方式第二种方式 一更换spark版本 因为要使用的carbondata对spark版本有要求,项目中使用的carbondata版本为2.0.1,spark版本要求为2.4.5 第一种方式 1)、找到/usr/hdp/2.6.5.0-292/...文章目录
一更换spark版本
因为要使用的carbondata对spark版本有要求,项目中使用的carbondata版本为2.0.1,spark版本要求为2.4.5
第一种方式
1)、找到/usr/hdp/2.6.5.0-292/spark2/下的jars路径 并备份为jars_bak/
2)、然后从官网下载spark-2.4.5-bin-hadoop2.7的tar包,把所有依赖的jar包拷贝到上面创建的jars路径下
cd /usr/hdp/2.6.5.0-292/spark2/ mv jars/ jars_bak/ cd /opt/spark-2.4.5-bin-hadoop2.7/ cp -r jars/ /usr/hdp/2.6.5.0-292/spark2/
第二种方式
- 安装rpmrebuild 和安装rpmbuild
rpmrebuild下载链接: https://sourceforge.net/projects/rpmrebuild/files/rpmrebuild/2.12-1/
rpmbuild直接用yum安装 :yum install rpm-build
- 创建目录解压rpmrebuild文件到/data/rpmbuild中
mkdir -p /data mkdir -p /data/rpmbuild mkdir -p /data/rpmbuild/BUILDROOT mkdir -p /data/rpmbuild/SPECS cd /data/rpmbuild echo "%_topdir /data/rpmbuild" >> ~/.rpmmacros tar -zxvf rpmrebuild-2.14.tar.gz
- 反编译提取SPEC文件
查看rpm安装名称
rpm -qa | grep spark2 ./rpmrebuild.sh -s SPECS/spark2.spec spark2_2_6_5_0_292-2.3.0.2.6.5.0-292.noarch
- 替换或修改rpm包中的文件
解压原版RPM包
rpm2cpio spark2_2_6_5_0_292-2.3.0.2.6.5.0-292.noarch.rpm |cpio -idv
接下来可根据需求替换修改解压后的文件后
- 修改spark2.spec
vim spark2.spec
修改jars内容就可以了
修改后为:
%attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/activation-1.1.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/aircompressor-0.10.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/antlr-2.7.7.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/antlr4-runtime-4.7.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/antlr-runtime-3.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/aopalliance-1.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/aopalliance-repackaged-2.4.0-b34.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/apacheds-i18n-2.0.0-M15.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/apacheds-kerberos-codec-2.0.0-M15.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/apache-log4j-extras-1.2.17.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/api-asn1-api-1.0.0-M20.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/api-util-1.0.0-M20.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/arpack_combined_all-0.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/arrow-format-0.10.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/arrow-memory-0.10.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/arrow-vector-0.10.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/automaton-1.11-8.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/avro-1.8.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/avro-ipc-1.8.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/avro-mapred-1.8.2-hadoop2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/bonecp-0.8.0.RELEASE.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/breeze_2.11-0.13.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/breeze-macros_2.11-0.13.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/calcite-avatica-1.2.0-incubating.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/calcite-core-1.2.0-incubating.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/calcite-linq4j-1.2.0-incubating.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/chill_2.11-0.9.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/chill-java-0.9.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-beanutils-1.9.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-cli-1.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-codec-1.10.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-collections-3.2.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-compiler-3.0.9.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-compress-1.8.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-configuration-1.6.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-crypto-1.0.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-dbcp-1.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-digester-1.8.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-httpclient-3.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-io-2.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-lang-2.6.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-lang3-3.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-logging-1.1.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-math3-3.4.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-net-3.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/commons-pool-1.5.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/compress-lzf-1.0.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/core-1.1.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/curator-client-2.7.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/curator-framework-2.7.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/curator-recipes-2.7.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/datanucleus-api-jdo-3.2.6.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/datanucleus-core-3.2.10.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/datanucleus-rdbms-3.2.9.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/derby-10.12.1.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/eigenbase-properties-1.1.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/flatbuffers-1.2.0-3f79e055.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/generex-1.0.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/gson-2.2.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/guava-14.0.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/guice-3.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/guice-servlet-3.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-annotations-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-auth-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-client-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-common-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-hdfs-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-mapreduce-client-app-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-mapreduce-client-common-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-mapreduce-client-core-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-mapreduce-client-jobclient-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-mapreduce-client-shuffle-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-yarn-api-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-yarn-client-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-yarn-common-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-yarn-server-common-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hadoop-yarn-server-web-proxy-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hive-beeline-1.2.1.spark2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hive-cli-1.2.1.spark2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hive-exec-1.2.1.spark2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hive-jdbc-1.2.1.spark2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hive-metastore-1.2.1.spark2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hk2-api-2.4.0-b34.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hk2-locator-2.4.0-b34.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hk2-utils-2.4.0-b34.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/hppc-0.7.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/htrace-core-3.1.0-incubating.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/httpclient-4.5.6.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/httpcore-4.4.10.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/ivy-2.4.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-annotations-2.6.7.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-core-2.6.7.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-core-asl-1.9.13.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-databind-2.6.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-dataformat-yaml-2.6.7.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-jaxrs-1.9.13.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-mapper-asl-1.9.13.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-module-jaxb-annotations-2.6.7.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-module-paranamer-2.7.9.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-module-scala_2.11-2.6.7.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jackson-xc-1.9.13.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/janino-3.0.9.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/JavaEWAH-0.3.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javassist-3.18.1-GA.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javax.annotation-api-1.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javax.inject-1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javax.inject-2.4.0-b34.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javax.servlet-api-3.1.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javax.ws.rs-api-2.0.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javax.ws.rs-api-2.1.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/javolution-5.5.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jaxb-api-2.2.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jcl-over-slf4j-1.7.16.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jdo-api-3.0.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-client-1.19.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-client-2.22.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-common-2.22.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-container-servlet-2.22.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-container-servlet-core-2.22.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-core-1.19.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-guava-2.22.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-media-jaxb-2.22.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jersey-server-2.22.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jetty-6.1.26.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jetty-util-6.1.26.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jline-2.14.6.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/joda-time-2.9.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jodd-core-3.5.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jpam-1.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/json4s-ast_2.11-3.5.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/json4s-core_2.11-3.5.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/json4s-jackson_2.11-3.5.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/json4s-scalap_2.11-3.5.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jsp-api-2.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jsr305-1.3.9.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jta-1.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jtransforms-2.4.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/jul-to-slf4j-1.7.16.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/kryo-shaded-4.0.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/kubernetes-client-4.6.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/kubernetes-model-4.6.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/kubernetes-model-common-4.6.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/leveldbjni-all-1.8.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/libfb303-0.9.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/libthrift-0.9.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/log4j-1.2.17.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/logging-interceptor-3.12.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/lz4-java-1.4.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/machinist_2.11-0.6.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/macro-compat_2.11-1.1.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/mesos-1.4.0-shaded-protobuf.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/metrics-core-3.1.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/metrics-graphite-3.1.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/metrics-json-3.1.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/metrics-jvm-3.1.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/minlog-1.3.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/netty-3.9.9.Final.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/netty-all-4.1.42.Final.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/objenesis-2.5.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/okhttp-3.12.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/okio-1.15.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/opencsv-2.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/orc-core-1.5.5-nohive.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/orc-mapreduce-1.5.5-nohive.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/orc-shims-1.5.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/oro-2.0.8.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/osgi-resource-locator-1.0.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/paranamer-2.8.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/parquet-column-1.10.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/parquet-common-1.10.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/parquet-encoding-1.10.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/parquet-format-2.4.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/parquet-hadoop-1.10.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/parquet-hadoop-bundle-1.6.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/parquet-jackson-1.10.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/protobuf-java-2.5.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/py4j-0.10.7.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/pyrolite-4.13.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/RoaringBitmap-0.7.45.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/scala-compiler-2.11.12.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/scala-library-2.11.12.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/scala-parser-combinators_2.11-1.1.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/scala-reflect-2.11.12.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/scala-xml_2.11-1.0.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/shapeless_2.11-2.3.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/shims-0.7.45.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/slf4j-api-1.7.16.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/slf4j-log4j12-1.7.16.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/snakeyaml-1.15.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/snappy-0.2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/snappy-java-1.1.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-catalyst_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-core_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-graphx_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-hive_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-hive-thriftserver_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-kubernetes_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-kvstore_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-launcher_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-mesos_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-mllib_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-mllib-local_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-network-common_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-network-shuffle_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-repl_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-sketch_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-sql_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-streaming_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-tags_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-tags_2.11-2.4.5-tests.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-unsafe_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spark-yarn_2.11-2.4.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spire_2.11-0.13.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/spire-macros_2.11-0.13.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/ST4-4.0.4.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/stax-api-1.0.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/stax-api-1.0-2.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/stream-2.7.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/stringtemplate-3.2.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/super-csv-2.2.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/univocity-parsers-2.7.3.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/validation-api-1.1.0.Final.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/xbean-asm6-shaded-4.8.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/xercesImpl-2.9.1.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/xmlenc-0.52.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/xz-1.5.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/zjsonpatch-0.3.0.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/zookeeper-3.4.6.jar" %attr(0644, root, root) "/usr/hdp/2.6.5.0-292/spark2/jars/zstd-jni-1.3.2-2.jar"
这样就升级完了
当然后面也可以吧carbondata加进来- 编译RPM包
rpmbuild -s SPECS/spark2.spec spark2_2_6_5_0_292-2.3.0.2.6.5.0-292.noarch
生成的RPM位置在/data/rpmbuild/RPMS/
问题
启动spark任务不成功
查看yarn上报错
Container exited with a non-zero exit code 1. Error file: prelaunch.err. Last 4096 bytes of prelaunch.err : /hadoop/yarn/local/usercache/root/appcache/application_1592908057656_0006/container_e11_1592908057656_0006_02_000001/launch_container.sh: line 29: /usr/hdp/2.6.5.0-292/spark2/carbonlib/*:$PWD:$PWD/__spark_conf__:$PWD/__spark_libs__/*:/etc/hadoop/conf:/usr/hdp/current/hadoop-client/*:/usr/hdp/current/hadoop-client/lib/*:/usr/hdp/current/hadoop-hdfs-client/*:/usr/hdp/current/hadoop-hdfs-client/lib/*:/usr/hdp/current/hadoop-yarn-client/*:/usr/hdp/current/hadoop-yarn-client/lib/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:$PWD/mr-framework/hadoop/share/hadoop/tools/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure:$PWD/__spark_conf__/__hadoop_conf__: bad substitution Failing this attempt. Failing the application.
- 原因:
找不到${hdp.version}
- 解决办法:
第一种:
直接修改MapReduce2的config/Advanced mapred-site中的
mapreduce.application.classpath参数
修改前:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:$PWD/mr-framework/hadoop/share/hadoop/tools/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure
修改后:
$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:$PWD/mr-framework/hadoop/share/hadoop/tools/lib/*:/usr/hdp/2.6.5.0-292/hadoop/lib/hadoop-lzo-0.6.0.2.6.5.0-292.jar:/etc/hadoop/conf/secure
第二种:
在MapReduce2的config/Custom mapred-site中添加hdp.version=2.6.5.0-292 # 版本为HDP版本
spark集成carbondata
从官网下载carbondata
https://github.com/apache/carbondata
直接下载apache-carbondata-2.0.1-bin-spark2.4.5-hadoop2.7.2.jar 或者自己构建构建
先决条件
- Unix-like environment (Linux, Mac OS X)
- Git
- Apache Maven (Recommend version 3.3 or later)
- Oracle Java 8
构建命令
默认情况下使用Spark 2.4.5使用不同的受支持版本的Spark进行构建
mvn -DskipTests -Pspark-2.4 -Dspark.version=2.4.5 clean package
- 注意:
如果您在Windows环境中工作,请记住-Pwindows在构建项目时进行添加。
mv功能默认情况下未编译。如果要使用此功能,请记住-Pmv在构建项目时进行添加。
在YARN群集上的Spark上安装和配置CarbonData
本节提供了在“ Spark on YARN”群集上安装CarbonData的过程。
先决条件
- Hadoop HDFS和Yarn应该已安装并正在运行。
- 应该在所有客户端中安装并运行Spark。
- CarbonData用户应具有访问HDFS的权限。
部署
以下步骤仅适用于驱动程序节点。(驱动程序节点是启动spark上下文的节点。)
- 生成CarbonData项目并从中获取程序集jar ./assembly/target/scala-2.1x/apache-carbondata_xxx.jar并复制到$SPARK_HOME/carbonlib文件夹。
注意:如果$SPARK_HOME路径中不存在carbonlib文件夹,请创建它。
-
将./conf/carbon.properties.template文件从CarbonData存储库复制到文件$SPARK_HOME/conf/夹,然后将文件重命名为carbon.properties。
-
创建tar.gzcarbonlib文件夹文件,并将其移入carbonlib文件夹内。
cd $SPARK_HOME tar -zcvf carbondata.tar.gz carbonlib/ mv carbondata.tar.gz carbonlib/
- 在$SPARK_HOME/conf/spark-defaults.conf文件中配置下表中提到的属性。
Property Description Value spark.master 设置此值可在yarn cluster模式下运行Spark。 设置yarn-client以在yar cluster模式下运行Spark。 spark.yarn.dist.files 以逗号分隔的文件列表,将其放置在每个执行程序的工作目录中。 $SPARK_HOME/conf/carbon.properties spark.yarn.dist.archives 以逗号分隔的归档列表,将其提取到每个执行程序的工作目录中。 $SPARK_HOME/carbonlib/carbondata.tar.gz spark.executor.extraJavaOptions 一串额外的JVM选项传递给执行者。例如 注意:您可以输入多个值,以空格分隔。 -Dcarbon.properties.filepath = carbon.properties spark.executor.extraClassPath 额外的类路径条目,以附加到执行者的类路径。注意:如果在spark-env.sh中定义了SPARK_CLASSPATH,请对其进行注释,并将值附加在以下参数spark.driver.extraClassPath中 carbondata.tar.gz/carbonlib/* spark.driver.extraClassPath 要附加在驱动程序的类路径前面的其他类路径条目。注意:如果在spark-env.sh中定义了SPARK_CLASSPATH,请对其进行注释,并将值附加在以下参数spark.driver.extraClassPath中。 $SPARK_HOME/carbonlib/* spark.driver.extraJavaOptions 传递给驱动程序的一串额外的JVM选项。例如,GC设置或其他日志记录。 -Dcarbon.properties.filepath = $SPARK_HOME/conf/carbon.properties spark.driver.extraClassPath=/usr/hdp/2.6.5.0-292/spark2/carbonlib/* spark.driver.extraJavaOptions=-Dcarbon.properties.filepath=/usr/hdp/2.6.5.0-292/spark2/conf/carbon.properties spark.executor.extraClassPath=carbondata.tar.gz/carbonlib/* spark.executor.extraJavaOptions=-Dcarbon.properties.filepath=carbon.properties spark.yarn.dist.archives=/usr/hdp/2.6.5.0-292/spark2/carbonlib/carbondata.tar.gz spark.yarn.dist.files=/usr/hdp/2.6.5.0-292/spark2/conf/carbon.properties
- 验证安装。
./bin/spark-shell
–master yarn-client
–driver-memory 1G
–executor-memory 2G
–executor-cores 2
注意:
- carbondata 2.0版本中已弃用属性“ carbon.storelocation”。只有在先前版本中使用过此属性的用户仍可以在carbon 2.0版本中使用它。
- 确保您具有CarbonData JAR和文件的权限,驱动程序和执行程序将通过它们启动。
- 如果使用Spark + Hive 1.1.X,则需要将carbondata程序集jar和carbondata-hive jar添加到spark-default.conf文件的参数’spark.sql.hive.metastore.jars’中。
使用CarbonData Thrift服务器执行查询
- 提交spark任务
spark-submit \ --master yarn \ --deploy-mode client \ --class org.apache.carbondata.spark.thriftserver.CarbonThriftServer \ --num-executors 20 \ --driver-memory 64G \ --executor-memory 16G \ --executor-cores 4 \ --queue s1 \ --conf spark.yarn.executor.memoryOverhead=4G \ $SPARK_HOME/carbonlib/apache-carbondata-2.0.1-bin-spark2.4.5-hadoop2.7.2.jar \ hdfs://host1:8020/carbon/spark2.4.5/carbon.store
- 使用Beeline连接到CarbonData Thrift服务器。
cd $SPARK_HOME ./sbin/start-thriftserver.sh ./bin/beeline -u jdbc:hive2://host1:10000 -n root
- 建表测试
create table test(id int) stored as carbondata; # 在NameNode UI中查看 提交spark任务时的hdfs路径 # hdfs://host1:8020/carbon/spark2.4.5/carbon.store下有test # 代表创建成功
- 安装rpmrebuild 和安装rpmbuild
-
JAVA代码实现编程式提交Spark任务
2020-07-29 16:54:111)直接调用SparkSubmit的main方法 2)SparkLauncher类的launch方法或者startApplication方法 3)使用RestSubmissionClient的run方法 SparkSubmit提交任务 String[] param = { "--class", "org.apache....三种方法作为记录:
1)直接调用SparkSubmit的main方法
2)SparkLauncher类的launch方法或者startApplication方法
3)使用RestSubmissionClient的run方法
SparkSubmit提交任务
String[] param = { "--class", "org.apache.spark.examples.SparkPi", "--master", "local[2]", "/bigdata/spark-2.4.6-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.4.6.jar", }; SparkSubmit.main(param); System.out.println("任务运行完成。。。。。。。。。");
可见,基本上就是把spark-submit脚本放到了java中执行!
但是要注意:(Rest URL端口是6066)
"--master", "spark://192.168.0.181:6066"
SparkLauncher提交任务
public static void main(String[] args) throws Exception { HashMap<String, String> envParams = new HashMap<>(); envParams.put("YARN_CONF_DIR", "/home/hadoop/cluster/hadoop-release/etc/hadoop"); envParams.put("HADOOP_CONF_DIR", "/home/hadoop/cluster/hadoop-release/etc/hadoop"); envParams.put("SPARK_HOME", "/home/hadoop/cluster/spark-new"); envParams.put("SPARK_PRINT_LAUNCH_COMMAND", "1"); SparkAppHandle spark = new SparkLauncher(envParams) .setAppResource("/home/hadoop/cluster/spark-new/examples/jars/spark-examples_2.11-2.2.1.jar") .setMainClass("org.apache.spark.examples.SparkPi") .setMaster("yarn") .startApplication(); Thread.sleep(100000); }
RestSubmissionClient的run方法提交
@Test public void submit() { String appResource = "hdfs://192.168.0.181:8020/opt/guoxiang/wordcount.jar"; String mainClass = "com.fly.spark.WordCount"; String[] args = { "hdfs://192.168.0.181:8020/opt/guoxiang/wordcount.txt", "hdfs://192.168.0.181:8020/opt/guoxiang/wordcount" }; SparkConf sparkConf = new SparkConf(); // 下面的是参考任务实时提交的Debug信息编写的 sparkConf.setMaster("spark://192.168.0.181:6066") .setAppName("carabon" + " " + System.currentTimeMillis()) .set("spark.executor.cores", "4") .set("spark.submit.deployMode", "cluster") .set("spark.jars", appResource) .set("spark.executor.memory", "1g") .set("spark.cores.max", "4") .set("spark.driver.supervise", "false"); Map<String, String> env = System.getenv(); CreateSubmissionResponse response = null; try { response = (CreateSubmissionResponse) RestSubmissionClient.run(appResource, mainClass, args, sparkConf, new HashMap<>()); } catch (Exception e) { e.printStackTrace(); } System.out.println(response.toJson()); }
-
Spark排错与优化
2015-10-15 17:08:36Master默认使用512M内存,当集群中运行的任务特别多时,就会挂掉,原因是master会读取每个task的event log日志去生成spark ui,内存不足自然会OOM,可以在master的运行日志中看到,通过HA启动的master自然也会因为这... -
Spark——Spark概述
2020-09-02 00:49:31一、Spark是什么 二、Spark and Hadoop 在之前的学习中,Hadoop的MapReduce是大家广为熟知的计算框架,那为什么咱们还要学习新的计算框架Spark呢,这里就不得不提到Spark和Hadoop的关系。 首先从时间节点上... -
大数据Spark实战视频教程
2016-11-10 14:26:54大数据Spark实战视频培训教程:本课程内容涉及,Spark虚拟机安装、Spark表配置、平台搭建、快学Scala入门、Spark集群通信、任务调度、持久化等实战内容。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室... -
【spark】Spark 入门到精通
2019-09-29 09:29:12Spark 修炼之道(进阶篇)——Spark 入门到精通:第一节 Spark 1.5.0 集群搭建【点击打开】 Spark 修炼之道(进阶篇)——Spark 入门到精通:第二节 Hadoop、Spark 生成圈简介【点击打开】 Spark 修炼之道(进阶篇... -
大数据Spark系列之Spark单机环境搭建
2020-04-03 17:23:331. 下载spark与scala Spark下载地址 http://mirrors.hust.edu.cn/apache/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz Scala下载地址 http://www.scala-lang.org/files/archive/scala-2.10.4.tgz 2. 解压... -
【Spark实战系列】spark-submit 提交 spark 任务的具体参数配置说明
2018-07-06 20:48:24今天我们主要来说一下spark-submit的时候一些重要的参数的配置,和spark提交的两种模式;spark提交任务常见的两种模式: 1,local[k]:本地使用k个worker线程运行saprk程序.这种模式适合小批量数据在本地调试代码用.(若... -
Spark概述、Spark特点
2017-07-05 16:38:41一、 Spark概述1. 什么是Spark(官网:http://spark.apache.org) Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月... -
【spark】spark介绍
2020-04-13 19:22:05什么是Spark 是基于内存的用于大规模数据处理(离线计算、实时计算、快速查询)的统一分析引擎。 也是一个生态系统。 Spark的特点 速度快 比MapReduce块10-100倍 易用(算法多) MR只支持一种计算 算法,Spark... -
1 Spark机器学习 spark MLlib 入门
2018-09-17 10:59:14开始学习spark ml了,都知道spark是继hadoop后的大数据利器,很多人都在使用spark的分布式并行来处理大数据。spark中也提供了机器学习的包,就是MLlib。 MLlib中也包含了大部分常用的算法,分类、回归、聚类等等,... -
Spark介绍
2020-04-08 14:11:00Spark 1、什么是Spark 是基于内存的用于大规模数据处理(离线计算、实时计算、快速查询)的统一分析引擎。 也是一个生态系统。 2、官网 http://spark.apache.org http://spark.apachecn.org Spark特点 ● 速度之快 与... -
spark入门【大数据spark】
2020-04-07 15:56:131. spark简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。 2. Spark安装 2.1 安装jdk 2.2 配置spark 官网下载spark安装包 官网地址下载地址 上传至虚拟机,修改配置文件 spark-env.sh... -
Spark Launcher Java API提交Spark算法
2020-06-07 12:36:06在介绍之前,我先附上spark 官方文档地址: http://spark.apache.org/docs/latest/api/java/org/apache/spark/launcher/package-summary.html 源码github地址: ... -
Spark RDD基础
2018-11-30 14:17:24Spark RDD基础 IDEA 创建scala spark的Mvn项目:https://blog.csdn.net/u014646662/article/details/84618032 spark快速大数据分析.pdf下载:https://download.csdn.net/download/u014646662/10816588 弹性分布式... -
spark core、spark sql、spark streaming 联系与区别
2019-03-07 21:43:39sparkcore是做离线批处理 sparksql 是做sql高级查询 sparkshell 是做交互式查询 sparkstreaming是做流式处理 区别: Spark Core : Spark的基础,底层的最小数据单位是:RDD ; 主要是处理一些离线(可以... -
Spark之——Spark Submit提交应用程序
2018-06-19 21:44:36本部分来源,也可以到spark官网查看英文版。 spark-submit 是在spark安装目录中bin目录下的一个shell脚本文件,用于在集群中启动应用程序(如*.py脚本);对于spark支持的集群模式,spark-submit提交应用的时候有... -
[Spark]Spark 应用程序部署工具spark-submit
2017-02-16 20:08:531. 简介Spark的bin目录中的spark-submit脚本用于启动集群上的应用程序。 可以通过统一的接口使用Spark所有支持的集群管理器,因此不必为每个集群管理器专门配置你的应用程序(It can use all of Spark’s supported ... -
Spark四大组件包括Spark Streaming、Spark SQL、Spark MLlib和Spark GraphX。
2016-08-31 14:33:57Spark四大组件包括Spark Streaming、Spark SQL、Spark MLlib和Spark GraphX。它们的主要应用场景是: Spark Streaming: Spark Streaming基于微批量方式的计算和处理,可以用于处理实时的流数据。它使用DStream... -
Spark2.1.0之剖析spark-shell
2018-04-20 09:30:10通过在spark-shell中执行word count的过程,让读者了解到可以使用spark-shell提交Spark作业。现在读者应该很想知道spark-shell究竟做了什么呢?脚本分析 在Spark安装目录的bin文件夹下可以找到spark-shell,其中有... -
spark 参数调优11-Spark Streaming
2018-09-05 17:50:32spark参数调优系列 目录地址: https://blog.csdn.net/zyzzxycj/article/details/81011540 11 Spark Streaming spark.streaming.backpressure.enabled 反压,默认false,详细了解请移步... -
spark 参数调优4-Spark UI
2018-08-31 14:42:47spark参数调优系列 目录地址: https://blog.csdn.net/zyzzxycj/article/details/81011540 ④ Spark UI 这一块配置,是有关于spark日志的。日志开关,日志输出路径,是否压缩。 还有一些可视化界面、端口的... -
spark踩坑记——windows环境下spark安装和运行
2018-08-10 17:08:10本文主要记录windows系统上安装spark,scala,和intelj IDEA,并实现本地spark运行。同时介绍了利用maven构建工具对spark工程构建的方法。本地运行需要本地安装scala,spark,hadoop。而如果利用maven构建工具则只... -
[老汤]Spark 2.x实战应用系列一之怎样学习Spark
2017-11-07 13:31:42系统的讲解了我们为什么需要去认识spark、spark有什么内容以及我们该怎么去学习spark。在学习spark过程中遵循的几个原则。内容如下: 1 大数据是什么 2 需要什么知识(除了scala,java和python都行) 3 spark可以做... -
[Spark进阶]-- spark-client和spark-cluster详解
2017-03-28 15:38:13在Spark中,有Yarn-Client和Yarn-Cluster两种模式可以运行在Yarn上,通常Yarn-cluster适用于生产环境,而Yarn-Client更适用于交互,调试模式,以下是它们的区别 Spark插拨式资源管理 Spark支持Yarn,Mesos,... -
Spark调优 | Spark SQL参数调优
2019-07-26 09:45:29Spark SQL里面有很多的参数,而且这些参数在Spark官网中没有明确的解释,可能是太多了吧,可以通过在spark-sql中使用set -v 命令显示当前spark-sql版本支持的参数。 本文讲解最近关于在参与hive往spark迁移过程中... -
Spark学习笔记:Spark基础
2018-09-03 23:39:57Spark基础以及WordCount实现
-
【折腾】独立博客之「熵」
-
GD32E230C8T6_4SPI_FLASH.rar
-
零基础一小时极简以太坊智能合约开发环境搭建并开发部署
-
流水线调度问题探究.pdf
-
2020美团技术年货-合集.pdf
-
vue返回上一页并不刷新
-
牛牛量化策略交易
-
物联网基础篇:快速玩转MQTT
-
libFuzzer视频教程
-
使用python内置库解决排列组合问题
-
MySQL 四类管理日志(详解及高阶配置)
-
图论简单教程 图论.ppt
-
数据挖掘算法R语言实现之决策树.doc
-
关于SimpleDateFormate 转换错误问题
-
C语言两种方式创建链表(头插法与尾插法)
-
Python-3.5.10.tgz
-
depth.yaml
-
消費者行为研究模型.pdf
-
wjw9733-H-background-theme-master.zip
-
深究字符编码的奥秘,与乱码说再见