zoukankan      html  css  js  c++  java
  • Spark-Unit1-spark概述与安装部署

    一、Spark概述

      spark官网:spark.apache.org

      Spark是用的大规模数据处理的统一计算引擎,它是为大数据处理而设计的快速通用的计算引擎。spark诞生于加油大学伯克利分校AMP实验室。

      mapreduce(MR)与spark的对比:

        1.MR在计算中产生的结果存储在磁盘上,spark存储在内存中;

        2.磁盘运行spark的速度是MR的10倍,内存运行spark是MR的100多倍;

        3.spark并不是为了替代Hadoop,而是为了补充Hadoop;

        4.spark没有存储,但他可以继承HDFS。

      Spark启用的是内存分布式数据集,而Scala语言可以轻松的处理分布式数据集,Scala语言可以说是为Spark而生的,而Spark 的出现推动了Scala语言的发展。

    二、Spark特点

      1.速度快

        磁盘运行spark的速度是MR的10倍,内存运行spark是MR的100多倍;

        Spark使用最先进的DAG调度程序,查询优化器和物理执行引擎,实现批处理和流处理的高性能。

        注释:DAG:有向无环图,上一个RDD的计算结果作为下一个RDD计算的初始值,可以迭代成千上万次。

              查询优化器:指的是spark sql

           批处理:spark sql

           流处理:spark streaming

      2.便于使用

        支持Java/Scala/python/R/SQL编写应用程序

      3.通用性高

        不仅支持批处理、流处理,

        还支持机器学习(MLlib:machine learning library)和图形计算(GraphX)

      4.兼容性高

        Spark运行在Hadoop,Apache Mesos。Kubernetes,独立或云端。它可以访问各种数据源。

        Spark实现了Standalone模式作为内置的资源管理和调度框架。

    三、Spark的安装部署

      1.准备工作:

        新建三台虚拟机(建议2G内存,1G也可以)/使用远程连接工具连接 / 关闭防火墙 / 修改主机名

        / 修改映射文件 / 设置免密登陆 / 安装jdk(1.8以上版本)

      2.在官网下载spark 安装包(我是2.2.0版本)

        然后上传到Linux系统,解压,删包,重命名

      3.修改spark部分配置文件

        进入spark->conf

        1)重命名spark-env.sh.template 为 spark-env.sh,进入该文件

        添加配置信息:

        export JAVA_HOME=/root/sk/jdk1.8.0_132    //jdk安装路径

        export SPARK_MASTER_HOST=spark-01    //spark主节点机器名

        export SPARK_MASTER_PORT=7077       //spark主机点端口号

        2)重命名slaves.template(好像是这个)为slaves,进入该文件

        删除最后一行“localhost”

        添加:spark-02

           spark-03    //其他两台从节点worker,便于一键启动

      4.发送修改好的spark解压文件夹到其他两台机器

        scp -r sprk sprk-02:$PWD

      5.启动spark,访问web页面

        在spark 的sbin目录下输入命令:

        ./start-all.sh

        然后通过ip:端口号访问UI界面,如:

        192.168.50.186:8080

    四、Spark的UI界面详解
       URL:统一资源定位符,spark-master的访问地址
       REST URL:可以通过rest的方式访问集群
       Alive Workers:存活的worker数量
       cores in use:可以使用的核心数量
       Memory in use:可以使用的内存大小
       Applications:正在运行和已经完成的应用程序
       Driver:通过driver提交的任务情况
       Status:节点的状态

  • 相关阅读:
    常见面试测试要点
    怎样在 CentOS/RHEL 7/6 上安装和配置 Sendmail 服务器
    Cannot uninstall 'pyparsing'. It is a distutils installed project
    Linux下校验SHA1和MD5的方法
    Linux查看进程启动时间和运行多长时间
    sqlplus -S参数表示什么意思?
    dnspython模块报错 AttributeError: 'CNAME' object has no attribute 'address'
    CentOS7中安装pip的方法
    四则运算中遇到的一个问题
    动手动脑
  • 原文地址:https://www.cnblogs.com/HelloBigTable/p/10261420.html
Copyright © 2011-2022 走看看