1、Spark Core: 类似MapReduce
核心:RDD
2、Spark SQL: 类似Hive,支持SQL
3、Spark Streaming:类似Storm

=================== Spark Core =======================

一、什么是Spark?
1、什么是Spark?生态体系结构

Apache Spark™ is a fast and general engine for large-scale data processing.
生态圈:
1、Spark Core
2、Spark SQL
3、Spark Streaming
4、Spark MLLib:机器学习
5、Spark GraphX:图计算

2、为什么要学习Spark?
复习:MapReduce的Shuffle过程
Spark的最大特点:基于内存
Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补MapReduce的不足。

3、Spark的特点
(1)快:基于内存
同时也是缺点:没有对内存进行管理,把所有的内存管理都交给应用程序,容易出现OOM(outof memory 内存溢出)
如何分析Java内存溢出?? 工具:Java Heap Dump
https://www.cnblogs.com/JackDesperado/p/4798499.html

(2)易用:Java、Scala
(3)通用:不同的组件
Hive推荐使用Spark作为执行引擎 ------> 配置Hive On Spark非常麻烦,不成熟

提供文档:Hive On Spark

(4)兼容性:Hadoop的生态圈

二、Spark的体系结构和安装配置
1、体系结构:Client-Server(主从模式) ----> 单点故障:HA(ZooKeeper)
http://spark.apache.org/docs/latest/cluster-overview.html

准备工作:安装Linux、JDK、主机名、免密码登录

2、安装和部署:standalone

tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz -C ~/training/

注意:hadoop和spark命令脚本有冲突,只能设置一个
核心配置文件:spark-env.sh

(*)伪分布模式: bigdata11机器
spark-env.sh

export JAVA_HOME=/root/training/jdk1.8.0_144
export SPARK_MASTER_HOST=bigdata11
export SPARK_MASTER_PORT=7077

slave文件:

bigdata11

启动:sbin/start-all.sh
Web Console: http://ip:8080 (内置了一个tomcat)

(*)全分布模式: bigdata12 bigdata13 bigdata14
(1)在主节点上进行安装
spark-env.sh

export JAVA_HOME=/root/training/jdk1.8.0_144
export SPARK_MASTER_HOST=bigdata12
export SPARK_MASTER_PORT=7077

slave文件:

bigdata13
bigdata14

(2) 复制到从节点上

scp -r spark-2.1.0-bin-hadoop2.7/ root@bigdata13:/root/training
scp -r spark-2.1.0-bin-hadoop2.7/ root@bigdata14:/root/training

(3) 在主节点上启动
启动:sbin/start-all.sh
Web Console: http://ip:8080 (内置了一个tomcat)

3、Spark的HA实现

(1)基于文件系统的单点故障恢复:只有一个主节点、只能用于开发测试
(*)特点:把Spark的运行信息写入到一个本地的恢复目录
如果Master死掉了,恢复master的时候从恢复目录上读取之前的信息
需要人为重启

(*)Spark的运行信息
Spark Application和Worker的注册信息

(*)配置:
(a)创建目录:mkdir /root/training/spark-2.1.0-bin-hadoop2.7/recovery
(b)参数:
spark.deploy.recoveryMode:取值:默认NONE--> 没有开启HA
FILESYSTEM ---> 基于文件系统的单点故障恢复
ZOOKEEPER ---> 基于ZooKeeper实现Standby的Master
spark.deploy.recoveryDirectory: 恢复目录

(c)修改spark-env.sh
增加:export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/root/training/spark-2.1.0-bin-hadoop2.7/recovery"

(*)测试:启动spark-shell

bin/spark-shell --master spark://bigdata12:7077

sbin/stop-master.sh
日志
scala> 18/02/09 00:40:42 WARN StandaloneAppClient$ClientEndpoint: Connection to bigdata12:7077 failed; waiting for master to reconnect...
18/02/09 00:40:42 WARN StandaloneSchedulerBackend: Disconnected from Spark cluster! Waiting for reconnection...
18/02/09 00:40:42 WARN StandaloneAppClient$ClientEndpoint: Connection to bigdata12:7077 failed; waiting for master to reconnect...

重新启动master

(2)基于ZooKeeper实现Standby的Master
(*)复习:相当于是一个“数据库”
角色:leader、follower
功能:选举、数据同步、分布式锁(秒杀功能)

(*)原理:类似Yarn
(*)参数
spark.deploy.recoveryMode 设置为ZOOKEEPER开启单点恢复功能,默认值:NONE
spark.deploy.zookeeper.url ZooKeeper集群的地址
spark.deploy.zookeeper.dir Spark信息在ZK中的保存目录,默认:/spark

(*)修改spark-env.sh
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=bigdata12:2181,bigdata13:2181,bigdata14:2181 -Dspark.deploy.zookeeper.dir=/spark"

(*)测试
bigdata12: sbin/start-all.sh
bigdata13(14):手动启动一个master
sbin/start-master.sh

worker信息注册到了13上。

大数据笔记(二十七)——Spark Core简介及安装配置的更多相关文章

  1. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  2. 大数据笔记(十七)——Pig的安装及环境配置、数据模型

    一.Pig简介和Pig的安装配置 1.最早是由Yahoo开发,后来给了Apache 2.支持语言:PigLatin 类似SQL 3.翻译器 PigLatin ---> MapReduce(Spa ...

  3. 大数据技术之_11_HBase学习_01_HBase 简介+HBase 安装+HBase Shell 操作+HBase 数据结构+HBase 原理

    第1章 HBase 简介1.1 什么是 HBase1.2 HBase 特点1.3 HBase 架构1.3 HBase 中的角色1.3.1 HMaster1.3.2 RegionServer1.3.3 ...

  4. 大数据笔记(三)——Hadoop2.0的安装与配置

    一.Hadoop安装部署的预备条件 准备:1.安装Linux和JDK. 安装JDK 解压:tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/ 设置环 ...

  5. 大数据为什么要选择Spark

    大数据为什么要选择Spark Spark是一个基于内存计算的开源集群计算系统,目的是更快速的进行数据分析. Spark由加州伯克利大学AMP实验室Matei为主的小团队使用Scala开发开发,其核心部 ...

  6. 大数据入门第二十二天——spark(一)入门与安装

    一.概述 1.什么是spark 从官网http://spark.apache.org/可以得知: Apache Spark™ is a fast and general engine for larg ...

  7. python学习--大数据与科学计算第三方库简介

    大数据与科学计算  库名称 简介 pycuda/opencl GPU高性能并发计算 Pandas python实现的类似R语言的数据统计.分析平台.基于NumPy和Matplotlib开发的,主要用于 ...

  8. 决战大数据之二:CentOS 7 最新JDK 8安装

    决战大数据之二:CentOS 7 最新JDK 8安装 [TOC] 修改hostname # hostnamectl set-hostname node1 --static # reboot now 重 ...

  9. 老李分享:大数据框架Hadoop和Spark的异同 1

    老李分享:大数据框架Hadoop和Spark的异同   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...

随机推荐

  1. [ZJOI2008]骑士 题解

    题面 这道题稍微想一想就会联想到树形DP的入门题:没有上司的舞会: 但是再想一想会发现这根本就不是一颗树,因为它比树多了一条边: 这时候我们引入一个新的概念:基环树: 顾名思义(??),基环树就是在一 ...

  2. import和from.…import…

    import和from.-import- 在讲之前我们先来讲一下怎样去下载第三方库,我们把python看作一部手机,pip就是应用管家,第三方库里面的模块就是应用管家里面的一个应用 一.import模 ...

  3. 删除项目中所有的__pycache__ 文件

    关于 pycache 当第一次运行 python 脚本时,解释器会将 *.py 脚本进行编译并保存到 __pycache__ 目录 下次执行脚本时,若解释器发现你的 *.py 脚本没有变更,便会跳过编 ...

  4. 3.学习Dispatcher

    3.学习Dispatcher 不管是WinForm应用程序还是WPF应用程序,实际上都是一个进程,一个进程可以包含多个线程,其中有一个是主线程,其余的是子线程. 在WPF或WinForm应用程序中,主 ...

  5. Jpa/Hibernate 字节码增强:字段延迟加载

    JPA提供了@Basic注解,实现延迟加载字段的功能,如下: @Basic(fetch = FetchType.LAZY) @Column(name = "REMARK_CONTENT&qu ...

  6. ABAP中TAB分隔符的使用

    在ABAP开发中,存在很多特殊字符,使用情况也不同,下面及时SAP中的TAB分隔符的使用案例: 46C以下的版本: DATA: gc_result(50) type c. constants: con ...

  7. owncloud 安装

    假定lamp已安装完成. 1 安装owncloud 使用curl命令下载其发行版密钥(key),并使用add命令将其与apt-key实用程序一起导入: curl https://download.ow ...

  8. Centos7下lvs负载均衡lvs-tun模式配置

    一.架构 director:172.28.18.69 vip:172.28.18.70 real server1:172.28.18.71 real server2:172.28.18.78 二.两台 ...

  9. dubbo 2.8.4(dubbox)的jar包制作【添加到maven本地仓库】

    1. 下载 网址:https://github.com/hongmoshui/dubbox 2.  解压zip文件 3.  用maven编译文件 如果没有配置全局maven,就直接使用cmd命令行[进 ...

  10. vue2.0 笔记(杂记)

    一.vue class.style表达式的类型: 字符串.对象和数组1.字符串 <div class="static" v-bind:class="class-a& ...