Spark基础及安装(单机)

Spark和MapReduce对比

MapReduce编程模型的局限性

  • 繁杂
    只有Map和Reduce两个操作,复杂的逻辑需要大量的样板代码
  • 处理效率低
    Map中间结果写磁盘,Reduce写HDFS,多个Map通过HDFS交换数据
    任务调度与启动开销大
  • 不适合迭代处理、交互式处理和流式处理

Spark的优势

  • Spark是类Hadoop MapReduce的通用并行框架

    Job中间输出结果可以保存在内存,不需要读写HDFS;
    比MapReduce平均快10倍 以上。

  • 速度快
    基于内存数据处理,比MR快100个数量级以上(逻辑回归算法测试);
    基于硬盘数据处理,比MR快10个数量级以上

  • 易用性
    支持Java、Scala、Python、R语言;
    交互式shell方便开发测试;

  • 通用性
    一栈式解决方案:批处理、交互式查询、实时流处理、图计算及机器学习;

  • 多种运行模式
    YARN、Mesos、EC2、Kubernets、Standalone、Local

Spark技术栈

  • Spark Core

     核心组件,分布式计算引擎
    
  • Spark SQL

     高性能的基于HAdoop的SQL解决方案
    
  • Spark Streaming

     可以实现高吞吐量、具备容错机制的准时流处理系统
    
  • Spark Graphx

     分布式图处理框架
    
  • Spark MLlib

     构建Spark上的分布式机器学习库
    

安装包下载

大家可以根据自己版本需要到下面的网址下载:
Spark安装包
我这里使用的是2.4.5版本,配置的是单机模式。

Spark安装与文件部署

1、把压缩包上传到linux虚拟机中,解压到指定目录下:

tar -zxvf spark-2.4.5-bin-hadoop2.6.tgz -C /opt/

2、解压好后的文件修改文件名:

mv spark-2.4.5-bin-hadoop2.6/ spark

3、配置环境变量:

vi /etc/profile

添加配置:

export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin

配置完成后,source生效

source /etc/profile

4、进入到spark/conf目录下修改配置文件
spark-env.sh.template重命名,进入添加新的内容:

mv spark-env.sh.template spark-env.sh
vi spark-env.sh

新增以下内容:

export SCALA_HOME=/opt/scala
export JAVA_HOME=/opt/jdk
export SPARK_HOME=/opt/spark
#指定master的主机
export SPARK_MASTER_IP=hadoop01
#设置执行器内存大小
export SPARK_EXECUTOR_MEMORY=1G

5、修改slaves文件

 mv slaves.template slaves

我们这里配置的是单机模式,所以主机名可以使用本地,不需要修改
在这里插入图片描述

如果是建立的集群,则需要把关联的主机名都填入进去:
在这里插入图片描述

6、全部修改完成后,Spark安装完成。

Spark的启动

Spark有三种启动模式:本机、Standalong和YARN。
本机和Standalone一般做演示和测试用,YARN在开发时用的较多。
本机
spark-shell --master local[*]
星号中可以自行设置处理器的内核总数,如果为*,则默认为最大。本机可以直接使用spark-shell启动:

在这里插入图片描述
启动后会显示启动的模式,红框标记处。
Standalone模式
在启动Standalone模式之前,我们需要先启动两个进程:
MasterWorker
当在集群中时,Master和Worker不一定在同一个主机上。
注意:启动这两个节点需要在spark的sbin目录下启动:start-all.sh。否则会和启动HDFS的start-all.sh冲突。

sbin/start-all.sh

在这里插入图片描述
启动完成后,我们可以启动Spark。

spark-shell --master spark://hadoop01:7077

在这里插入图片描述
启动YARN模式
启动YARN模式的指令是:
spark-shell --master yarn
当我们启动后,会显示错误:

Exception in thread “main” org.apache.spark.SparkException: When running with master ‘yarn’ either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment.

提示我们需要设置HADOOP_CONF_DIR or YARN_CONF_DIR。
spark-enc.sh添加新的配置:

export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

完成后重新启动Master和Worker。同时我们也要启动HDFS。

start-all.sh
/opt/spark/sbin/start-all.sh

在这里插入图片描述
然后就可以启动yarn模式了:

spark-shell --master yarn

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值