spark快速入门-------spark概述及安装配置

Posted Hadoop大数据开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark快速入门-------spark概述及安装配置相关的知识,希望对你有一定的参考价值。

spark简介及概述

Spark是一种快速、通用、可扩展的大数据分析引擎。

特点:

1)快速高效

之前学习的hadoop中的MapReduce作为第一代分布式大数据计算引擎,在设计的时候,受当时计算机硬件条件所限(内存、磁盘、cpu等),为了能够计算海量数据,需要将中间结果保存到HDFS中,那么就要频繁读写HDFS从而使得网络IO和磁盘IO成为性能瓶颈。Spark可以将中间结果写到本地磁盘或将中间cache到内存中,节省了大量的网络IO和磁盘IO开销。并且Spark使用更先进的DAG任务调度思想,可以将多个计算逻辑构建成一个有向无环图,并且还会将DAG先进行优化后再生成物理执行计划,同时 Spark也支持数据缓存在内存中的计算。性能比Hadoop MapReduce快100倍。即便是不将数据cache到内存中,其速度也是MapReduce10 倍以上。 

注:mr程序和spark程序shuffle的文件都落地磁盘。复杂的逻辑,多个mr程序串联在一起,按照一定的先后顺序执行,中间的处理结果需要存储到hdfs中。比如上游的mr程序的结果文件需要先存储到hdfs中,下游的mr程序文件输入  即需要再到hdfs去拿这个结果文件,频繁的进行hdfs的读写,消耗大量的网络io和磁盘io资源。而spark则将中间结果文件存储在本地磁盘或内存当中,用完即会销毁。

面试题:MapReduce和Spark的本质区别

1.mr只能做离线计算,如果实现复杂计算逻辑,一个MR搞不定,就需要将多个MR按照先后顺序连成一串,一个MR计算完成后会将计算结果写入到HDFS中,下一个MR将上一个MR的输出作为输入,这样就要频繁读写HDFS,网络IO和磁盘IO会成为性能瓶颈。从而导致效率低下。比如夜间执行mr任务,第二天查看结果,mr程序 稳定,安全。

2.spark既可以做离线计算,有可以做实时计算,提供了抽象的数据集(RDD、Dataset、DataFrame、DStream),有高度封装的API,算子丰富,并且使用了更先进的DAG有向无环图调度思想。可以对执行计划优化后在执行,并且可以数据可以cache到内存中进行复用。

但mr和spark的shuffle时数据均落本地磁盘

2)简洁易用

spark 支持java、scala、python和r等编程语言,自带很多高级算子,并且允许使用者使用命令进行交互式运行,很方便地使用spark shell进行编程

3)通用、全栈式数据处理

4)丰富的部署模式

spark自带的stand alone资源调度模式、hadoop 的yarn资源调度模式、mesos资源调度模式、Spark还可以Kubernetes实现容器化的资源调度 

5)丰富的数据源支持

支持访问hdfs、hbase、hive、本地文件系统等

spark集群安装及配置

1)下载安装包,国外网站不好下,一般去国内的镜像网站如网易、淘宝等,还可以使用https://mirrors.tuna.tsinghua.edu.cn/  清华镜像网站

spark快速入门(一)-------spark概述及安装配置

spark快速入门(一)-------spark概述及安装配置

2)上传到linux01上,并解压

spark快速入门(一)-------spark概述及安装配置

3)进入到spark按照包目录并将conf目录下的spark-env.sh.template重命名为spark-env.sh,再修改

export JAVA_HOME=/opt/apps/jdk1.8.0_141export SPARK_MASTER_HOST=linux01


spark快速入门(一)-------spark概述及安装配置

4)将conf目录下的slaves.template重命名为slaves并修改,指定Worker的所在节点

spark快速入门(一)-------spark概述及安装配置

spark快速入门(一)-------spark概述及安装配置

5)将配置好的spark拷贝到其他的机器上(需要在spark上层目录)

for i in linux01 linux02 linux03 ; do scp -r spark-3.0.0-bin-hadoop3.2  $i:$PWD; done

6)启动spark集群

sbin/start-all.sh

并在各个机器上查看java 进程 可以看到 节点  linux01上有一个master和一个worker  其他两台机器上都有一个worker

spark快速入门(一)-------spark概述及安装配置

spark快速入门(一)-------spark概述及安装配置

7)访问Master的web管理界面,端口8080


以上是关于spark快速入门-------spark概述及安装配置的主要内容,如果未能解决你的问题,请参考以下文章

Spark入门,概述,部署,以及学习(Spark是一种快速通用可扩展的大数据分析引擎)

:SparkSQL快速入门

学会RDD就学会了Spark,Spark数据结构RDD快速入门

学会RDD就学会了Spark,Spark数据结构RDD快速入门

学会RDD就学会了Spark,Spark数据结构RDD快速入门

spark基础入门