精华内容
下载资源
问答
  • 使用 Hadoop v2.6.0 Spark v1.3.1 启动由 4 个虚拟机组成的集群的 Vagrant 项目。 node1 : HDFS NameNode + Spark Master node2 : YARN ResourceManager + JobHistoryServer + ProxyServer node3 : HDFS ...
  • Hadoop和Spark简单概述

    千次阅读 多人点赞 2018-12-22 20:11:47
    文章目录Hadoop和Spark概述一. 简单说说Hadoop1. Hadoop的产生背景2. Hadoop核心技术二. 简单说说Spark1. Spark的官方定义2. Spark的核心技术3. Spark的内置项目4. Spark的生态体系5. Spark的特点6. Spark的用户...
     
    

    Hadoop和Spark概述

    一. 简单说说Hadoop

    1. Hadoop的产生背景

     在过去的 20 年里, 社会的各个领域所产生的数据实现了大规模的增长,并且就目前来看,未来全球的数据量将呈现出爆炸性的增长趋势,因此将会产生海量数据。2008 年《自然》杂志刊登了名为“Big Data”的专辑,正式提出大数据的概念,标志着大数据时代的到来。随之而来的研究,加深了人们对大数据时代的认识。大数据正在改变着人们的生活、工作和思想。

     面对如此海量的数据,传统的数据计算和数据存储方式已经无法满足要求,因此在解决当前基于大数据的实际应用问题时,也显得捉襟见肘。为此急需要一套完整的大数据问题解决方案。 2004 年 Google 的三篇论文 MapReduce、 GFS和 BigTable介绍了 Google 内部对于大数据问题的解决方案,从此奠定了针对大数据问题的关键技术基础。 受此启发的 Doug Cutting 等人开始尝试实现开源的 MapReduce 计算框架,并与NDFS 相结合,使之成为了一套完整软件, 并在 2008 年成为Apache 软件基金会旗下的顶级项目,命名为 Hadoop。Hadoop经过近十年的发展,期间形成了以 Hive、 Hbase、 Zookeeper 等软件为核心的 Hadoop 生态系统, 并且仍然处在不断更新完善的过程中,目前 Hadoop 已发展到 3.0 版本, 且已经成为当前最为流行且成熟的大数据问题解决方案。

    下面是一个hadoop生态圈的基本介绍:

    生态系统子项目项目功能
    Hive基于 Hadoop 文件系统的数据仓库
    Hbase基于 Hadoop 的面向列存储的数据库
    Mahout集成了经典的数据挖掘与机器学习算法的算法库
    Pig支持大规模数据分析的平台
    ZooKeeper为 Hadoop 集群提供协调服务
    Avro将数据结构或对象转换成便于存储或传输的合适
    Chukwa针对 Hadoop 集群的分布式数据收集和分析系统
    2. Hadoop核心技术

     目前 Hadoop 的核心技术包括 Hadoop Common、 HadoopDistributed File System (HDFS) 、 Hadoop MapReduce 以 及Hadoop Yarn 四大模块。共同构成了 Hadoop 的基础架构。

    • Common: Common 是 Hadoop 的基础模块,主要为生态系统中其他的软件提供包括文件系统、 RPC 以及串行化库等功能在内的支持,为云平台提供基本服务。

    • HDFS: HDFS是一个分布式文件系统,是 Hadoop 的存储核心, 它可以被部署运行于大量的廉价服务器上,可以处理超大文件,它的设计是建立在“一次写入,多次读取的”思想之上。对于被上传到 HDFS 上的数据,系统会对其进行分块分进行保存,分块概念的存在是 HDFS 可以存储大量文件的重要原因。 HDFS 中有两个重要概念 NameNode 和 DataNode,NameNode 是中心服务器,负责管理文件系统命名空间以及客户端对文件的访问, DataNode 是 Hadoop 集群的主体, 一般的一个存储节点运行一个 DataNode 进程, DataNode 的作用是管理本节点上所存储的文件。

    下面是HDFS的读过程:

    image

    下面是HDFS的写过程:

    在这里插入图片描述

    • MapReduce: MapReduce 是一个并行计算框架,是 Hadoop的计算核心, 它通过将数据分割,并行处理等底层问题进行封装,使得用户只需要考虑自身所关注的并行计算任务的实现逻辑,从而极大的简化了分布式程序的设计,在整个计算过程中,数据始终以<key,value>键值对的形式存在。它的核心是 Map 函数与 Reduce 函数。

    image

    • Yarn: Yarn[14]是针对 Hadoop 存在的 JobTracker 单点瓶颈, 编程框架不够灵活等问题提出的改进方案。通过将集群资源管理和作业管理分离开来,降低 JobTracker 的负载。其中集群 资 源 管 理 由 ResourceManager 负 责 , 作 业 管 理 由ApplicationMaster 负责, Container 负责为集群各个节点调度资源,与所有计算节点 NodeManager 共同构成新的数据计算框架。

    image

    二. 简单说说Spark

    1. Spark的官方定义

    image

    image

     Spark是一种快速、通用、可扩展的大数据分析引擎,是UC Berkeley AMP lab (加州大学伯克利分校AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,专门用于大规模数据的迭代式计算,是为了跟 Hadoop 配合而开发出来的,不是为了取代 Hadoop。2009年诞生,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。项目是用Scala进行编写。

     目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLib、SparkR等子项目,Spark是基于内存计算的大数据并行计算框架。除了扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询流处理。Spark 适用于各种各样原先需要多种不同的分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理

    2. Spark的核心技术

    Spark 的 最 主 要 的 核 心 技 术 是 Resilient Distributed Datasets(RDD)即弹性分布式数据集,此外还包括 Spark有向无环图 DAGSpark部署模式以及Spark架构

    • RDD: RDD 是对分布式内存数据的一个抽象,对数据的所有操作最终会转换成对 RDD 的操作,即 RDD 是数据操作的基本单位。对于 RDD 的操作分为 Transformation(转换)和
      Action(执行),其中 Transformation 又包括多种基本操作:map,filter,flatmap,groupByKey,reduceByKey,union 等;Action 操作包括:count,collect,reduce 等基本操作。Spark 对于两
      种操作采取不同机制:对于所有的转换操作都是惰性操作(懒执行),即从一个 RDD 通过转换操作生成另一个 RDD 的过程在 Spark 上并不会被马上执行,只有在 Action 操作触发时转换操作才会被真正执行。

    • DAG 在一个 Spark 应用当中,数据执行流程是以 RDD 组成的有向无环图 DAG 的形式存在,Spark 根据用户提交的应用逻辑绘制 DAG 图,并且依据 RDD 之间的依赖关系,将 DAG 图划分成不同阶段(stage),但是 DAG 绘制完成之后并不会被马上执行,只是起到一个标记数据集的作用。下图就是一个DAG图:

    image

    • Spark部署模式: 当前 Spark 存在多种部署模式,包括 Local 模式,Standalone模式,基于 Mesos 的模式以及基于 Yarn 的部署模式。其中基于 Yarn 的部署模式是当前最为主流的部署模式,其核心思想是利用 Hadoop Yarn 实现集群资源的管理。

    • Spark架构: 尽管 Spark 有不同的部署模式,但是其基本组成部分包括控制节点 Master 和作业控制进程 Driver,资源管理器 ClusterManager,执行节点 Worker 和执行单元 Executor 以及客户端 Client, 其中 Driver 进程位于 Master 主控节点上,一
      个 Worker 节点一般维护一个 Executor 进程。Spark架构如下图:

    image

    3. Spark的内置项目

    在官网中我们可以看到其4个内置项目:

    image

    • Spark SQL: 是 Spark 用来操作结构化数据的程序包。通过 Spark SQL,我们可以使用 SQL 或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据。Spark SQL 支持多种数据源,比 如 Hive 表、Parquet 以及 JSON 等。

    • Spark Streaming: 是 Spark 提供的对实时数据进行流式计算的组件。提供了用来操作数据流的 API,并且与 Spark Core 中的 RDD API 高度对应。

    • Spark MLlib:
      提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据 导入等额外的支持功能。

    • Spark GraphX: Spark GraphX是一个分布式图处理框架,它是基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口,极大的方便了对分布式图处理的需求。

    4. Spark的生态体系

    下图表现了spark的生态体系

    image

    内置项目已经分析过,下面将不再给出解释。

    • Spark Core: 实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统 交互等模块。Spark Core 中还包含了对弹性分布式数据集(resilient distributed dataset,简称RDD)的 API 定义。

      说明:Spark Core 相当于 Java 语言中的 JDK,而其他的子项目相当于在 JDK 支持下开发出的组件。

    • 集群管理器: Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计 算。为了实现这样的要求,同时获得最大灵活性,Spark 支持在各种群管理器(cluster manager)上运行,包括 Hadoop YARN、Apache Mesos,以及 Spark 自带的一个简易调度 器,叫作独立调度器(独立模式:Standalone)。

    5. Spark的特点
    • 速度快: 与Hadoop的MapReduce相比,Spark基于内存的运算要比MapReduce运算快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。计算的中间结果是存在于内存中的。

    image

    • 容易使用: Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法。

    image

    • 通用: Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。Spark统一的解决方案非常具有吸引力,毕竟任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本。

    image

    • 优秀的兼容性: Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase和Cassandra等。这对于已经部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使用Spark的强大处理能力。Spark也可以不依赖于第三方的资源管理和调度器,它实现了Standalone作为其内置的资源管理和调度框架,这样进一步降低了Spark的使用门槛,使得所有人都可以非常容易地部署和使用Spark。此外,Spark还提供了在EC2上部署Standalone的Spark集群的工具。

    image

    6. Spark的用户和用途

    Spark的用例大致分为两类:数据科学应用数据处理应用,所以相对应的产生了对应的两种研究人群:数据科学家工程师

    • 数据科学任务: 主要是数据分析领域,数据科学家要负责分析数据并建模,具备 SQL、统计、预测建模(机器学习)等方面的经验,以及一定的使用 Python、 Matlab 或 R 语言进行编程的能力。

    • 数据处理应用: 工程师定义为使用Spark开发 生产环境中的数据来处理问题的软件开发者,使用Spark的API实现对任务进行处理和转换。

    三. Hadoop和Spark的关系

    1. Spark的优势

     随着对 Hadoop 的广泛应用,也暴露出 Hadoop 存在的一些问题,例如作为 Hadoop 核心技术的 MapReduce 计算框架一方面缺少对迭代的支持,另一方面在计算过程中会将中间数据输出到硬盘存储,因此会产生较高的延迟( Hadoop 在一次 MapReduce 运算之后,会将数据的运算结果从内存写入到磁盘中,第二次 Mapredue 运算时在从磁盘中读取数据,所以其瓶颈在2次运算间的多余 IO 消耗)。

     基于Hadoop的缺陷,Spark计算框架大大减缓了 MapReduce计算 的I/O瓶颈,因为Spark 是将数据一直缓存在内存中,直到计算得到最后的结果,再将结果写入到磁盘,所以多次运算的情况下 Spark 是比较快的,其速度大约是 MR 运算的100倍。Spark优化了迭代式工作负载。

    2. Spark对Hadoop的改进
    Hadoop的局限Spark的改进
    抽象层次低,代码编写难以入手通过使用 RDD 的统一抽象,实现数据处理逻辑的代码变得非常简洁
    只提供 Map 和 Reduce 两个操作,表达不明确通过 RDD 提供了很多转换和动作,实现了很多基本操作(提供了很多功能API,如:sort,Join等,编程变得更加简单)
    一个 Job 只有 Map 和 Reduce 两个阶段,复杂的程序需要大量的 Job 来完成,且 Job 之间的依赖关系需要应用开发者自行管理一个 Job 可以包含多个 RDD 的转换动作,只需要在调度时生成多个 Stage。一个 Stage 中也可以包含多个 Map 操作,只需要 Map 操作所使用的 RDD 分区保持不变
    处理逻辑隐藏在代码细节中,缺少整体逻辑视图RDD 的转换支持流式API,提供处理逻辑的整体视图
    对迭代式数据处理性能比较差,Reduce 与 下一步 Map 之间的中间结果只能存放在 HDFS 文件系统中,将大大增加迭代计算的时间(I/O成本高昂)通过内存缓存数据,可以大大提高迭代式计算的性能,内存不足时可以溢出到磁盘
    ReduceTask 需要等待所有的 MapTask 都完成后才能开始执行分区相同的转换可以在一个 Task 中以流水线的形式执行,只有分区不同的转换才需要 shuffle 操作
    延时比较高,只是用与大数据集的批量计算,对交互式数据处理和实时数据处理支持不够将流拆成小的 Batch,提供 Discretized Stream 处理数据
    3. 明晰概念
    • 通过对 Hadoop 的由来说明,我们需要形成一个清晰的逻辑公式:Hadoop架构 = Common + HDFS + MapReduce + Yarn

      说明:HDFS 为大规模数据的存储提供了基础,MapReduce模型 则为集群并行计算提供了保证。所以我们需要明确:Hadoop 是一个集存储模型(HDFS)和计算模型(MapReduce)为一体的大数据处理工具。

    • Spark 是一个相当于 MapReduce编程模型 的大数据分析计算框架,并不能完全替代 Hadoop,因为 Hadoop 具备分布式文件管理能力(分布式文件管理系统),HDFS 是大数据计算的数据源泉。

      强调:Spark 相当于一个计算引擎,其地位和 MapReduce模型 对等。其优点就是计算过程都在内存完成,大大加快了运算速度。Spark无法完全替代Hadoop

    Hadoop和Spark特性

    一. Hadoop的优势和劣势

    Hadoop的技术优势

    MapReduce 是与 Spark 对应的大数据编程框架,因此以 MapReduce 来阐述。

    • 首先 MapReduce 之所以能够成为面向大数据的计算框架,原因在于其具有优良的伸缩性,在 Hadoop 集群当中,每当有新的计算节点加入时,MapReduce 几乎会增加该节点所具有的全部的计算能力,而如此优良的伸缩性是以往大多数分布式计算框架所不具备的。这也使得 MapReduce 成为最受欢迎的主流大数据计算框架。

    • MapReduce 为用户提供了一套极为简易的编程模型,也就是以 map 函数与 reduce 函数为核心的编程接口,使得在进行MapRedcuce 编程时,用户只需考虑实际应用问题的应用逻辑,而不需要考虑负载均衡,并行计算等底层细节问题。

    • MapReduce 的设计目标是为了运行批量作业,处理海量数据,在同等大小集群下所能处理的数据量上限要远大于 Spark,因此 MapReduce 是真正意义上的大数据计算框架。

    Hadoop的技术劣势
    • 首先 MapReduce 是面向磁盘存储的,在 MapReduce 应用程序运行过程所有的中间数据会输出到磁盘中,当再需要时才会将数据从磁盘调入内存,因磁盘速度与内存速度的差距导致了计算过程的高延迟现象。高延迟是 MapReduce 最大的技术瓶颈。

    • 由于 MapReduce 主要用于处理批量数据,因此在需要对数据进行随机访问时,MapReduce 明显不能满足。

    • 考虑 MapReduce 的实现方式是以 map 函数和 reduce 函数为基础,虽然这套编程接口极为简易,但是面对多样性的实际问题时,仅仅只有这两个算子使得 MapRedcue 在编程时需要花费更多的时间去考虑如何能够在这两个函数中实现所需要的应用逻辑。即算子缺乏多样性和灵活性。

    • 根据 MapReduce 的计算思想,在 map 过程之后,框架会对中间数据进行一个统计排序(shuffle,sort),然后才将排序之后的结果交由 reduce 过程处理。但是在某些情况下,并不需要这过程,但是 MapReduce 还是会强制进行统计排序,这无疑会增加计算耗时。

    二. Spark的优势和劣势

    Spark的技术优势

    Spark 是以 MapReduce 基本思想为基础,并针对 MapReduce 现今所存在的问题而设计开发的框架。它的提出弥补了 MapReduce 的很多不足之处,因此优势也很明显。

    • 首先 Spark 最明显优势在于它的内存计算,不同于MapReduce 面向磁盘,它的数据计算在内存中完成,产生的中间数据也大部分驻留在内存中,不需要进行 I/O 操作,使得 Spark的计算过程要远快于 MapReduce。

    • 弹性分布式数据集 RDD 作为 Spark 的核心技术,对调入内存数据实现了分布式抽象划分,使得 Spark 不仅能够进行大数据的计算,同时也可以实现数据的随机查询与分析,弥补了MapReduce 在这方面的不足。

    • 针对 MapReduce 计算算子的不足,Spark 提出的转换与执行两大类型算子解决这个问题,使得 Spark 可以支持更为复杂的数据查询和分析任务,降低了用户开发 Spark 应用时的代码复杂度。

    • 针对 MapReduce 的强制排序机制, Spark 进行了改进,改进了 shuffle 的传输方式,提升了其稳定性和速度,并利用基本算子使得 Spark 不用在所有场景中均进行排序,节省了计算耗时。

    Spark的技术劣势

    虽然 Spark 拥有诸多优势,且大多数情况下在性能上要优于 MapReduce,在面对大数据问题时具有更广泛的适用性。但是一方面 Spark 的开发时间较晚,远不如 MapReduce 的相关技术成熟,另一方面 Spark 在基本思想方面的一些设计使得其在适用性上也有一定局限。

    • Spark 的内存计算为其带来了速度上的优势,但是在容量上,内存要远小于磁盘, MapReduce 所能处理的数上限要远大于 Spark,因此 Spark 被定义为轻量级的大数据计算框架,而MapReduce 是实际意义上的大数据计算框架。

    • 同样由于内存计算, Spark 在计算过程中,无疑会给 Java虚拟机的垃圾回收机制带来严重压力, 例如当两个 Spark 应用使用同样的数据时, 那么同一份数据会被缓存两次,不但会造成较大的内存压力,同时也使得垃圾回收缓慢,从而影响 Spark性能,导致其不稳定。

    • 由于弹性分布式数据集的只读特性,使得 Spark 只适合处理粗粒度的数据并行计算,而不适合那些异步的细粒度的更新计算。

    Hadoop和Spark的应用场景

    一. Hadoop应用场景

    虽然 Spark 的提出,使得其在一定的应用场景中优于Hadoop,但是 Hadoop 及生态系统的技术成熟的优势仍然使得其在当前大多数基于大数据的应用场景中得的应用,并取得了明显的应用效果。

    1. ETL 过程场景

     MapReduce 作为针对处理批量数据的大数据计算框架,在面对需要批量处理的数据时表现出理想的效果,最主要的应用场景是在构建数据仓库时,针对存入数据仓库数据进行预处理,即数据的抽取、转换和装载(ETL), 数据仓库主要存储的是企业大量的历史数据,原始数据在大多数情况下并不是规范的满足存储的数据,因此需要进行 ETL,但是基于传统数据仓库的 ETL 在面对大数据时的性能瓶颈使得基于 MapReduce 的并行 ETL 渐受到人们重视,且成为当前主流的 ETL 抽取方式。MapReduce 在针对大数据的 ETL 方面具有较强的性能优势。

    2. 日志处理场景

     由于 MapReduce 的高延迟现象,使得其适合处理离线数据,而不适合处理实时数据,因此一些针对离线数据的应用场景,MapReduce 成为主要贡献者,日志问题是 MapReduce 在开发之初所解决的一个主要问题,离线日志是 MapReduce 所处理的主要方面,在电商交易方面, MapReduce 可以通过对用户交易数据的分析,对用户进行分类划分不同客户群,从而有益于电商企业针对不同客户开展不同的促销活动,提升企业效益,具有代表性的是阿里巴巴集团开发的基于 Hadoop 的云梯系统。

    3. 数据挖掘与统计机器学习应用场景

     由于 MapReduce 针对批量数据的特性使得其在数据挖掘或者是统计机器学习领域也占有一席之地, 例如谷歌著名的索引技术倒排索引,谷歌公司在研发出 MapReduce 之后,便应用 MapReduce 对其倒排索引系统进行了并行化改造, 通过将海量数据的大规模操作分发给集群上的每个计算节点进行运算,同时保证每个节点会周期性的把完成的工作和状态的更新报告回主节点,使得谷歌在搜索领域占据了更大份额;此外作为Hadoop 机器学习算法库的 Mahout 同样以 MapReduce 为计算框架,实现了基本的分类,聚类,关联规则以及推荐算法。虽然 Spark 也提出了其机器学习算法库 MLlib 但是目前在算法的多样性上仍然不如 Mahout,总之在需要进行大规模数据挖掘以及机器学习的一些应用场景, MapReduce 发挥着一定作用。

    4. 数据采集与处理场景

     在大数据时代,只有拥有足够量的数据才能够根据数据得到正确的决策,但是当前只有少数的大型公司拥有足够的行业数据,为了解决数据不足的问题,网络爬虫技术成为重要的解
    决办法,但是由于 Spark 不支持异步细粒度更新,使得其不能够有效的支持爬虫技术,而 MapReduce 则能够有效的支持爬虫技术包括增量爬虫的实现。 Cutting 起初实现 MapReduce 的主要目的是令其为 Nutch 的主要算法提供计算支持,而 Nutch
    是 Apache 软件基金会下另一开源顶级项目,它是一款分布式爬虫软件,因此成为 Nutch 的标准计算引擎。MapReduce 适合在需要进行大规模数据采集的应用场景中应用。

    二. Spark的应用场景

    Spark 的内存计算是相比于 Hadoop MapReduce 而言最显
    著的优势,基于内存计算特性,使得 Spark 能够有效的处理实
    时数据,因此 Spark 很适合应用在对实时性要求较高的大数据平台的并行化研究与应用上也取得了诸多成果。

    1. 快速查询与实时推荐场景

     在 Spark 之前, HIVE 因其以 MapReduce 为计算引擎,使得在大数据查询领域得到了广泛应用,在 Spark 出现之后,凭借内存计算优势,使得其针对特定数据的快速查询优势明显,特别是在查询性能上,要优于 HIVE 2 到 10 倍。而 Spark SQL的提出更加增强了 Spark 这种优势。因此 Spark 以及 Spark SQL 在数据的快速查询领域逐得到广泛的应用。

     随着互联网技术的发展,以电商为代表的众多企业为了提升效益,纷纷制定符合相应用户群体的推荐系统,但是用户的行为偏好实时多变, 唯有实时推荐系统才能够满足实时推荐需
    求。以 MapReduce 为基础的推荐系统因为高延迟而缺乏这种实时性,不能满足实时推荐, 而使用 Spark 开发的推荐系统, 能够使得推荐系统的模型训练由小时级、天级转变为分钟级,从而可以实现这种实时推荐。基于 Spark 的实时推荐系统逐渐得到商界和学术界的广泛关注与应用,例如阿里、京东、雅虎、亚马逊等国内外大公司纷纷针对公司业务开发了基于 Spark 的实时推荐系统,使得推荐效果实现了极大的提升。

    2. 图计算应用场景

     图计算是以“图论”为基础的对现实世界的一种“图”结构的抽象表达,以及在这种数据结构上的计算模式。 图数据结构能够很好的表达了数据之间的关联性, 而这种关联性计算是大数据计算的核心, 通过获得数据的关联性,可以从包含噪声的海量数据中抽取有用的信息,因此为了提升计算精度, 许多问题可以转换成图形式进行计算。 但是 MapReduce 框架无法满足这种关联性计算。 Spark 生态系统中的 GraphX 为针对图数据的计算框架,GraphX 通过丰富的图数据操作符简化了图计算的难度,因此相比于 Pregel、 GraphLab等传统计算框架具有一定优势,并且被逐渐应用在实际的图计算问题中。

    三. Hadoop和Spark适用场景总结

    适用场景MapReduceSpark
    ETL 过程场景×
    日志处理场景
    数据挖掘与统计机器学习应用场景
    数据采集与处理场景×
    流数据处理场景×
    多轮迭代问题
    快速查询与实时推荐场景
    图计算应用场景×

    √:适用 ×:不适用 ○:比较适用

    展开全文
  • Docker下安装Hadoop和Spark集群-附件资源
  • 使用docker配置安装hadoop和spark 分别安装hadoop和spark镜像 安装hadoop镜像 选择的docker镜像地址,这个镜像提供的hadoop版本比较新,且安装的是jdk8,可以支持安装最新版本的spark。 docker pull uhopper/hadoop...

    使用docker配置安装hadoop和spark

    分别安装hadoop和spark镜像

    安装hadoop镜像

    选择的docker镜像地址,这个镜像提供的hadoop版本比较新,且安装的是jdk8,可以支持安装最新版本的spark。

    docker pull uhopper/hadoop:2.8.1
    

    安装spark镜像

    如果对spark版本要求不是很高,可以直接拉取别人的镜像,若要求新版本,则需要对dockerfile进行配置。

    环境准备

    1. 下载sequenceiq/spark镜像构建源码

      git clone https://github.com/sequenceiq/docker-spark
      
    2. 从Spark官网下载Spark 2.3.2安装包

    3. 将下载的文件需要放到docker-spark目录下

    4. 查看本地image,确保已经安装了hadoop

    5. 进入docker-spark目录,确认所有用于镜像构建的文件已经准备好

      • image-20181030125353071

    修改配置文件

    • 修改Dockerfile为以下内容

      • FROM sequenceiq/hadoop-docker:2.7.0
        MAINTAINER scottdyt
        
        #support for Hadoop 2.7.0
        #RUN curl -s http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz | tar -xz -C /usr/local/
        ADD spark-2.3.2-bin-hadoop2.7.tgz /usr/local/
        RUN cd /usr/local && ln -s spark-2.3.2-bin-hadoop2.7 spark
        ENV SPARK_HOME /usr/local/spark
        RUN mkdir $SPARK_HOME/yarn-remote-client
        ADD yarn-remote-client $SPARK_HOME/yarn-remote-client
        
        RUN $BOOTSTRAP && $HADOOP_PREFIX/bin/hadoop dfsadmin -safemode leave && $HADOOP_PREFIX/bin/hdfs dfs -put $SPARK_HOME-2.3.2-bin-hadoop2.7/jars /spark && $HADOOP_PREFIX/bin/hdfs dfs -put $SPARK_HOME-2.3.2-bin-hadoop2.7/examples/jars /spark 
        
        
        ENV YARN_CONF_DIR $HADOOP_PREFIX/etc/hadoop
        ENV PATH $PATH:$SPARK_HOME/bin:$HADOOP_PREFIX/bin
        # update boot script
        COPY bootstrap.sh /etc/bootstrap.sh
        RUN chown root.root /etc/bootstrap.sh
        RUN chmod 700 /etc/bootstrap.sh
        
        #install R 
        RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
        RUN yum -y install R
        
        ENTRYPOINT ["/etc/bootstrap.sh"]
        
    • 修改bootstrap.sh为以下内容

      #!/bin/bash
      
      : ${HADOOP_PREFIX:=/usr/local/hadoop}
      
      $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh
      
      rm /tmp/*.pid
      
      # installing libraries if any - (resource urls added comma separated to the ACP system variable)
      cd $HADOOP_PREFIX/share/hadoop/common ; for cp in ${ACP//,/ }; do  echo == $cp; curl -LO $cp ; done; cd -
      
      # altering the core-site configuration
      sed s/HOSTNAME/$HOSTNAME/ /usr/local/hadoop/etc/hadoop/core-site.xml.template > /usr/local/hadoop/etc/hadoop/core-site.xml
      
      # setting spark defaults
      echo spark.yarn.jar hdfs:///spark/* > $SPARK_HOME/conf/spark-defaults.conf
      cp $SPARK_HOME/conf/metrics.properties.template $SPARK_HOME/conf/metrics.properties
      
      service sshd start
      $HADOOP_PREFIX/sbin/start-dfs.sh
      $HADOOP_PREFIX/sbin/start-yarn.sh
      
      
      
      CMD=${1:-"exit 0"}
      if [[ "$CMD" == "-d" ]];
      then
      	service sshd stop
      	/usr/sbin/sshd -D -d
      else
      	/bin/bash -c "$*"
      fi
      
      

      构建镜像

      docker build --rm -t scottdyt/spark:2.3.2 .
      

      Screen Shot 2018-10-30 at 10.58.21 AM

      查看镜像

      Screen Shot 2018-10-30 at 12.06.19 PM

    启动一个spark2.3.1容器

    docker run -it -p 8088:8088 -p 8042:8042 -p 4040:4040 -h sandbox scottdyt/spark:2.3.2 bash
    

    启动成功:

    Screen Shot 2018-10-30 at 12.10.59 PM

    安装spark-hadoop镜像

    如果想偷懒一点,直接安装装好spark和hadoop的镜像,镜像地址在这里

    或者直接在终端输入:

    docker pull uhopper/hadoop-spark:2.1.2_2.8.1
    

    安装完成:

    image-20181030124727908

    参考

    1. https://blog.csdn.net/farawayzheng_necas/article/details/54341036
    展开全文
  • CentOS Linux中搭建Hadoop和Spark集群详解,Hadoop是一个开源的可运行于大规模集群上的分布式文件系统运行处理基础框架。其擅长于在廉价机器搭建的集群上进行海量数据(结构化与非结构化)的存储与离线处理。Hadoop...
  • Hadoop和Spark的联系区别

    千次阅读 2016-09-08 09:11:11
    Hadoop和Spark的联系区别计算数据存储位置 Hadoop:硬盘 Spark:内存 计算模型 Hadoop:单一 Spark:丰富 处理方式 Hadoop:非迭代 Spark:迭代 场景要求 Hadoop:离线批处理。(面对SQL交互式查询、实时处理及...

    Hadoop和Spark的联系和区别

    计算数据存储位置

    • Hadoop:硬盘
    • Spark:内存

    计算模型

    • Hadoop:单一
    • Spark:丰富

    处理方式

    • Hadoop:非迭代
    • Spark:迭代

    场景要求

    • Hadoop:离线批处理。(面对SQL交互式查询、实时处理及机器学习等需要和第三方框架结合。多种数据格式转换,导致消耗大量资源)
    • Spark:批处理、实时处理
    展开全文
  • Hadoop和Sparkd的区别与联系

    千次阅读 2018-07-07 12:15:38
    http://www.techweb.com.cn/network/system/2016-03-09/2292838.shtml对...直接比较Hadoop和Spark有难度,因为它们处理的许多任务都一样,但是在一些方面又并不相互重叠。比如说,Spark没有文件管理功能,因而必须...

    http://www.techweb.com.cn/network/system/2016-03-09/2292838.shtml

    对Hadoop与Spark孰优孰劣这个问题,最准确的观点就是,设计人员旨在让Hadoop和Spark在同一个团队里面协同运行。

    直接比较Hadoop和Spark有难度,因为它们处理的许多任务都一样,但是在一些方面又并不相互重叠。

    比如说,Spark没有文件管理功能,因而必须依赖Hadoop分布式文件系统(HDFS)或另外某种解决方案。将Hadoop MapReduce与Spark作一番比较来得更明智,因为它们作为数据处理引擎更具有可比性。

    过去几年,随着数据科学趋于成熟,也日益需要用一种不同的方法来处理大数据。Hadoop在一些业务应用领域的表现比后起之秀Spark更胜一筹, 不过Spark在大数据领域有其一席之地,这归功于它具有速度快、易于使用的优点。本文剖析了两大平台的一系列常见属性,包括性能、容错、成本、易用性、 数据处理、兼容性和安全性。

    Hadoop和Spark方面要记住的最重要一点就是,它们并不是非此即彼的关系,因为它们不是相互排斥,也不是说一方是另一方的简易替代者。两者彼此兼容,这使得这对组合成为一种功能极其强大的解决方案,适合诸多大数据应用场合

    Hadoop的定义

    Hadoop是Apache.org的一个项目,其实是一种软件库和框架,以便使用简单的编程模型,跨计算器集群对庞大数据集(大数据)进行分布式 处理。Hadoop可灵活扩展,从单一计算机系统,到提供本地存储和计算能力的数千个商用系统,它都能轻松支持。实际上,Hadoop就是大数据分析领域 的重量级大数据平台。

    Hadoop由协同运行、构建Hadoop框架的多个模块组成。Hadoop框架的主要模块包括如下:

    Hadoop Common Hadoop分布式文件系统(HDFS) Hadoop YARN Hadoop MapReduce

    虽然上述四个模块构成了Hadoop的核心,不过还有其他几个模块。这些模块包括:Ambari、Avro、Cassandra、Hive、 Pig、Oozie、Flume和Sqoop,它们进一步增强和扩展了Hadoop的功能,得以扩大到大数据应用领域,处理庞大数据集。

    许多使用大数据集和分析工具的公司使用Hadoop。它已成为大数据应用系统中事实上的标准。设计Hadoop的初衷是处理这项任务:搜寻和搜索数 十亿个网页,将这些信息收集到数据库中。正是由于渴望搜寻和搜索互联网,才有了Hadoop的HDFS及分布式处理引擎MapReduce。

    如果数据集变得极其庞大或极其复杂,以至于当前的解决方案无法在数据用户认为合理的时间段内有效地处理信息,Hadoop对公司就会大有用处。

    MapReduce是一种出色的文本处理引擎,它理应如此,因为搜寻互联网和搜索互联网(它的首要任务)都是基于文本的任务。

    Spark的定义

    Apache Spark开发人员声称它是“一种用于数据大规模处理的快速通用引擎”。相比之下,如果说Hadoop的大数据框架好比是800磅重的大猩猩,Spark就好比是130磅重的猎豹。

    虽然批评Spark的内存处理技术的人士承认,Spark确实速度很快(最多比Hadoop MapReduce快100倍),但他们可能并不愿意承认它在磁盘上运行起来速度最多快10倍。Spark还可以执行批量处理,然而它真正擅长的是处理流工作负载、交互式查询和基于机器的学习。

    相比MapReduce基于磁盘的批量处理引擎,Spark赖以成名之处是其数据实时处理功能。Spark与Hadoop及其模块兼容。实际上,在Hadoop的项目页面上,Spark就被列为是一个模块。

    Spark有自己的页面,因为虽然它可以通过YARN(另一种资源协调者)在Hadoop集群中运行,但是它也有一种独立模式。它可以作为 Hadoop模块来运行,也可以作为独立解决方案来运行;这样一来,很难直接比较两者。然而随着时间的推移,一些大数据科学家预计Spark会出现分叉,可能会取代Hadoop,尤其是在更快速地访问处理的数据至关重要的情况下。

    Spark是一种集群计算框架,这意味着它更多地与MapReduce竞争,而不是与整个Hadoop生态系统竞争。比如说,Spark没有自己的分布式文件系统,但可以使用HDFS。

    Spark使用内存,也可以使用磁盘进行处理,而MapReduce完全基于磁盘。MapReduce和Spark的主要区别在于,MapReduce使用持久存储,而Spark使用弹性分布式数据集(RDDS),下面容错部分有更详细的解释。

    性能

    网上不缺关于Spark与MapReduce相比有多快的信息。对两者进行比较有个问题,那就是它们处理数据的方式不一样,数据处理部分有介绍。Spark之所以如此快速,原因在于它在内存中处理一切数据。没错,它还可以使用磁盘来处理未全部装入到内存中的数据。

    Spark的内存处理为来自多个来源的数据提供了近乎实时分析的功能:营销活动、机器学习、物联网传感器、日志监控、安全分析和社交媒体网站。另 外,MapReduce使用批量处理,其实从来就不是为惊人的速度设计的。它的初衷是不断收集来自网站的信息,不需要这些数据具有实时性或近乎实时性。

    易用性

    众所周知,Spark以性能见长,但是它也因易用性而小有名气,原因是它随带易于使用的API,支持Scala(原生语言)、Java、Python和Spark SQL。Spark SQL非常类似于SQL 92,所以几乎不需要经历一番学习,马上可以上手。

    Spark还有一种交互模式,那样开发人员和用户都可以获得查询和其他操作的即时反馈。MapReduce没有交互模式,不过有了Hive和Pig等附加模块,采用者使用MapReduce来得容易一点。

    成本

    MapReduce和Spark都是Apache项目,这意味着它们是开源免费软件产品。虽然软件不需要成本,但是派人用硬件运行任何一种平台带来了成本。这两种产品都设计成可以在商用硬件上运行,比如所谓的低成本白盒服务器系统。

    MapReduce和Spark在同样的硬件上运行,那么这两种解决方案的成本差异体现在哪里?MapReduce使用常规数量的内存,因为数据处 理基于磁盘,所以公司得购买速度更快的磁盘和大量磁盘空间来运行MapReduce。MapReduce还需要更多的系统,将磁盘输入/输出分布到多个系 统上。

    Spark需要大量内存,但是可以使用常规数量的常规转速磁盘。一些用户抱怨会产生临时文件,需要清理。这些临时文件通常保存7天,以便加快针对同 一数据集的任何处理。磁盘空间相对便宜,由于Spark不使用磁盘输入/输入用于处理,已使用的磁盘空间可以用于SAN或NAS。

    然而,由于需要大量内存在内存中处理一切数据,Spark系统的成本更高,这点没错。但是Spark的技术同时减少了所需的系统数量。所以,最后的 情形是,系统成本较高,但是数量大大减少。也许到时候,Spark实际上可以降低每个计算单位的成本,尽管内存方面有额外的要求。

    举例说明,“Spark已证明在数据多达PB的情况下也轻松自如。它被用于在数量只有十分之一的机器上,对100TB数据进行排序的速度比Hadoop MapReduce快3倍。”这一成绩让Spark成为2014年Daytona GraySort基准。

    兼容性

    MapReduce和Spark相互兼容;MapReduce通过JDBC和ODC兼容诸多数据源、文件格式和商业智能工具,Spark具有与MapReduce同样的兼容性。

    数据处理

    MapReduce是一种批量处理引擎。MapReduce以顺序步骤来操作,先从集群读取数据,然后对数据执行操作,将结果写回到集群,从集群读 取更新后的数据,执行下一个数据操作,将那些结果写回到结果,依次类推。Spark执行类似的操作,不过是在内存中一步执行。它从集群读取数据后,对数据 执行操作,然后写回到集群。

    Spark还包括自己的图形计算库GraphX​​。GraphX让用户可以查看与图形和集合同样的数据。用户还可以使用弹性分布式数据集(RDD),改变和联合图形,容错部分作了讨论。

    容错

    至于容错,MapReduce和Spark从两个不同的方向来解决问题。MapReduce使用TaskTracker节点,它为 JobTracker节点提供了心跳(heartbeat)。如果没有心跳,那么JobTracker节点重新调度所有将执行的操作和正在进行的操作,交 给另一个TaskTracker节点。这种方法在提供容错性方面很有效,可是会大大延长某些操作(即便只有一个故障)的完成时间。

    Spark使用弹性分布式数据集(RDD),它们是容错集合,里面的数据元素可执行并行操作。RDD可以引用外部存储系统中的数据集,比如共享式文件系统、HDFS、HBase,或者提供Hadoop InputFormat的任何数据源。Spark可以用Hadoop支持的任何存储源创建RDD,包括本地文件系统,或前面所列的其中一种文件系统。

    RDD拥有五个主要属性:

    分区列表 计算每个分片的函数 依赖其他RDD的项目列表 面向键值RDD的分区程序(比如说RDD是散列分区),这是可选属性 计算每个分片的首选位置的列表(比如HDFS文件的数据块位置),这是可选属性

    RDD可能具有持久性,以便将数据集缓存在内存中。这样一来,以后的操作大大加快,最多达10倍。Spark的缓存具有容错性,原因在于如果RDD的任何分区丢失,就会使用原始转换,自动重新计算。

    可扩展性

    按照定义,MapReduce和Spark都可以使用HDFS来扩展。那么,Hadoop集群能变得多大呢?

    据称雅虎有一套42000个节点组成的Hadoop集群,可以说扩展无极限。最大的已知Spark集群是8000个节点,不过随着大数据增多,预计集群规模也会随之变大,以便继续满足吞吐量方面的预期。

    安全

    Hadoop支持Kerberos身份验证,这管理起来有麻烦。然而,第三方厂商让企业组织能够充分利用活动目录Kerberos和LDAP用于身份验证。同样那些第三方厂商还为传输中数据和静态数据提供数据加密。

    Hadoop分布式文件系统支持访问控制列表(ACL)和传统的文件权限模式。Hadoop为任务提交中的用户控制提供了服务级授权(Service Level Authorization),这确保客户拥有正确的权限。

    Spark的安全性弱一点,目前只支持通过共享密钥(密码验证)的身份验证。Spark在安全方面带来的好处是,如果你在HDFS上运行Spark,它可以使用HDFS ACL和文件级权限。此外,Spark可以在YARN上运行,因而能够使用Kerberos身份验证。

    总结Hadoop vs Spark

    乍一看,对任何大数据应用而言,使用Spark似乎是默认选择。然而,事实并非如此。MapReduce已在大数据市场取得了进展,尤其受到这种公司企业的追捧:需要由商用系统对庞大数据集加以控制。Spark的速度、灵活性和相对易用性对MapReduce的低操作成本来说是绝对补充。

    实际上,Spark与MapReduce是一种相互共生的关系。Hadoop提供了Spark所没有的功能特性,比如分布式文件系统,而Spark 为需要它的那些数据集提供了实时内存处理。完美的大数据场景正是设计人员当初预想的那样:让Hadoop和Spark在同一个团队里面协同运行。

    展开全文
  • 1. HADOOP和spark的关系? 如下图所示: Hadoop和 Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个...
  • 基于hadoop+spark 架构大数据平台搭建 基于hadoop+spark 架构大数据平台搭建 基于hadoop+spark 架构大数据平台搭建
  • hadoopspark集群搭建,了解hadoop分布式、伪分布式等方式集群搭建
  • hadoop和spark集成环境搭建

    千次阅读 2015-08-08 10:34:01
    本人使用的是Ubuntu系统:ubuntu-12.04-desktop-i386.iso ...搭建的hadoop和spark所需要准备的资料分别有: jdk-7u51-linux-i586.tar.gz hadoop-2.2.0.tar.gz scala-2.11.2.tgz spark-1.0.2-bin-hadoop2.tgz
  • hadoop-2.7.5-bin压缩包,适合在window平台运行hadoop和spark程序,其中的文件已做替换
  • 最近学习hadoop和spark的一些心得

    千次阅读 2015-09-18 15:34:53
    对于新人来说,学习hadoop和spark最大的门槛就是如何安装它们俩,网上有很多关于这方面的信息,但是有挺多安装过程是有问题的,或者是没有具有普遍性,所以当选择错了安装教程后,有时候可能会导致浪费了很多的时间...
  • hadoop和spark分布式集群搭建及简单运用 hadoop和spark分布式集群搭建及简单运用 1Hadoop集群部署 1-1Hadoop简介 1-2 环境及软件说明 1-2-1 虚拟机软件 1-2-2 JDK 1-2-3 Xshell 1-2-4 hadoop安装包 1-3 配置...
  • Hadoop和Spark的异同

    千次阅读 2018-09-02 19:31:47
    谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同。 解决问题的层面不一样  ...
  • Ubuntu上搭建hadoop和spark集群

    千次阅读 2017-03-30 09:43:16
    在Ubuntu上搭建hadoop和spark集群,1台master(namenode),3台slave(datanode) 1. 安装Java 1 2 sudo mkdir /usr/local/java/sudo tar xvf jdk-7u79-linux-x64.tgz -C /usr/local...
  • 简述Hadoop和Spark的异同

    千次阅读 2017-05-10 12:29:27
    谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同。解决问题的层面不一样首先,...
  • Ubuntu 18.04 搭建Hadoop和spark

    千次阅读 2018-07-31 23:31:21
    本文介绍如何在Ubuntu18.04上搭建Hadoop以及spark,供单机测试用。 准备包: jdk-8u101-linux-x64.gz hadoop-2.7.7.tar.gz scala-2.11.8.tgz spark-2.3.1-bin-hadoop2.7.tgz   搭建过程中没有必要使用root...
  • HadoopSpark孰优孰劣这个问题,最准确的观点就是,设计人员旨在让Hadoop和Spark在同一个团队里面协同运行。  直接比较Hadoop和Spark有难度,因为它们处理的许多任务都一样,但是在一些方面又并不相互重叠。 ...
  • hadoop和Spark是两种不同的大数据生态系统,Hadoop框架比较侧重离线大批量计算,而spark框架则侧重于内存实时计算。 在这些基础上,衍生出了一些常用的附属组件,比如Hadoop生态下的HBASE、hive、HDFS等,HDFS可...
  • win10搭建hadoop和spark

    千次阅读 2020-03-17 18:05:12
    一、Java环境变量配置 二、hadoop环境变量配置 三、spark环境变量配置 四、hdfs配置 1、hadoop-2.7.7\etc\hadoop hadoop-env.cmd
  • 秒懂Hadoop和Spark联系与区别

    万次阅读 多人点赞 2017-12-11 10:53:29
    谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同。 解决问题的层面不一样 ...
  • Hadoop和Spark的区别

    万次阅读 2018-08-08 11:32:15
    充分利用集群的威力进行高速运算存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System ,HDFS)。HDFS 有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量...
  • Hadoop和Spark联系与区别

    万次阅读 2018-10-31 11:17:37
    谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同。 解决问题的层面不一样 首先...
  • 我们今天很荣幸的宣布项目Dr.Elephant的开源,这是一个强大的工具,可以帮助Hadoop和Spark用户理解、分析、以及改善系统的性能。在去年的Hadoop第八次年度峰会(一个Apache Hadoop社区的重要会议)期间,我们第一次将...
  • 一提到大数据,人们就会想到Hadoop,然而,最近又有个Spark似乎成了后起之秀,也变得很火,似乎比Hadoop更具优势,更有前景,那么,想要学习大数据的学员就要问了,在大数据学习中Hadoop和Spark哪个更好就业?...
  • 2分钟读懂Hadoop和Spark的异同

    千次阅读 2016-05-17 09:58:15
    谈到大数据框架,现在最火的就是Hadoop和Spark,但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,倒底现在业界都在使用哪种技术?二者间究竟有哪些异同?它们各自解决了哪些问题?下面不妨跟...
  • 大数据框架 Hadoop Spark 的异同

    千次阅读 2016-06-17 21:10:16
    首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要...
  • centos 上安装hadoop和spark 集群

    千次阅读 2018-07-10 11:12:31
    要想在分布式上运行spark代码,就需要调用Hadoop的分布式文件系统。所以先安装hadoop软件。 1、下载hadoop和jdk 我下载的是hadoop3.0.0; 下载地址为: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,686
精华内容 53,874
关键字:

hadoop和spark