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/ 清华镜像网站
2)上传到linux01上,并解压
3)进入到spark按照包目录并将conf目录下的spark-env.sh.template重命名为spark-env.sh,再修改
export JAVA_HOME=/opt/apps/jdk1.8.0_141
export SPARK_MASTER_HOST=linux01
4)将conf目录下的slaves.template重命名为slaves并修改,指定Worker的所在节点
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
7)访问Master的web管理界面,端口8080
以上是关于spark快速入门-------spark概述及安装配置的主要内容,如果未能解决你的问题,请参考以下文章
Spark入门,概述,部署,以及学习(Spark是一种快速通用可扩展的大数据分析引擎)
学会RDD就学会了Spark,Spark数据结构RDD快速入门
学会RDD就学会了Spark,Spark数据结构RDD快速入门