spark_1(概述与集群搭建)

学习spark第一天
一.Spark概述
1.什么是Spark(官网:http://spark.apache.org)

  • Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计算框架。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量廉价硬件之上,形成集群。

2.为什么要学Spark

  • 中间结果输出: 基于MapReduce的计算引擎同常会将结果输出到磁盘上,进行存储和容错。出于对任务管道承接的,考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage,而这些串联的Stage又依赖底层文件系统(如HDFS)来存储每一个Stage的输出结果
    spark_1(概述与集群搭建)_第1张图片

3.Spark特点

  • 快(比Hadoop快六七倍,但是数据量达到上亿条不稳定,容易出错)
  • 易用
    Spark支持Java、python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的python和scala的shell
  • 通用
    Spark可以用于批量处理、交互式查询(SparkSQL)、实时流处理(SparkStreaming)、机器学习(Spark MLlib)、和图计算(GraphX)。
  • 兼容性
    Spark可以非常方便地与其他的开源产品进行融入和。比如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和资源调度,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase和Cassandra等

二、Spark集群安装
1.机器部署

  • 准备两台以上Linux服务器,安装好JDK
    2.下载Spark安装包
    spark_1(概述与集群搭建)_第2张图片

  • 上传Spark安装包到Linux上

  • 解压安装包到指定位置
    tar -zxvf spark-1.5.1-bin-hadoop2.4.tgz -C /home/hadoop/apps/
    3.配置Spark

  • 进入Spark安装目录
    cd /home/hadoop/apps/spark-1.5.1-bin-hadoop2.4

  • 进入conf目录并重命名且修改spark-env.sh.template文件
    cd conf/
    mv spark-env.sh.template spark-env.sh
    vi spark-env.sh
    在该配置文件中添加如下配置
    export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181
    export SPARK_MASTER_IP=hadoop1
    export SPARK_MASTER_PORT=7077
    保存并退出

  • 重命名并修改slaves.template文件
    mv slaves.template slaves
    vi slaves
    在该文件中添加子节点所在的位置(worker节点)
    hadoop1
    hadoop2
    hadoop3
    保存并退出
    将hadoop1上的spark发送到Hadoop2与Hadoop3上

  • 配置环境变量
    vi /etc/profile
    export SPARK_HOME=/home/hadoop/apps/spark-2.2.0-bin-hadoop2.7
    export PATH= P A T H : PATH: PATH:SPARK_HOME/bin:$SPARK_HOME

  • 启动spark
    /home/hadoop/apps/spark-1.5.1-bin-hadoop2.4/sbin/start-all.sh

启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://hadoop1:8080/

  • 进入Spark界面
    /home/hadoop/apps/spark-1.5.1-bin-hadoop2.4/bin/spark-shell

你可能感兴趣的:(spark_1(概述与集群搭建))