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. ubuntu 设置sudo 免密码

    一. 修改sudoers的权限 二. 修改sudoers 文件 <1>. 在文件最后一行添加yourusername ALL=(ALL) NOPASSWD : ALL 三. 修改回sudo ...

  2. P1106 删数问题

    展开 题目描述 键盘输入一个高精度的正整数NN(不超过250250位) ,去掉其中任意kk个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的NN和kk,寻找一种方案使得剩下的数字组成的新 ...

  3. Quatrz + Spring

    实例工程结构: 配置: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" ...

  4. PHP 数组辅助函数

    /** * 取多维数据中某字段的值 * @param array $array 数据源数组 * @param string|array $field 要获取的字段 * @return array 结果 ...

  5. P1224 [NOI2013]向量内积

    传送门 发现这个内积和矩乘有点像,考虑构造一个 $n$ 行 $m$ 列的矩阵 $A$,每一行都是一个题目给定的 $m$ 维向量 设 $B=AA^T$ ,其中 $A^T$ 为 $A$ 的转置矩阵,那么对 ...

  6. 【iOS】正則表達式抓取网页数据制作小词典

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xn4545945/article/details/37684127 应用程序不一定要自己去提供数据. ...

  7. mysql导入导出数据,备份,恢复数据

    MYSQL 实现导入数据 .备份和恢复数据库 1.使用msql命令导入数据 # mysql -uroot -p 需要选择一个数据库 < runoob.sql #mysql -u username ...

  8. kali 下安装 vmtools

    网上的教程都是默认路径下的,kali是定制版本的,路径不同,所以首先要找到media下安装包的路径,然后进入该路下,将安装包复制到想要的路径下,并解压缩到想要的路径下,剩下的就跟网上的差不多了,即找到 ...

  9. 初试 pyhton 简易采集

    一.安装软件(用eclispe 搭建好环境好,没有取省自动补全编写代码会很卡,最后选用sumblie) eclispe  用的windows 32 4.31 python  用的 4.3.3  下载地 ...

  10. 006-Zabbix agent on Zabbix server is unreachable for 5 minutes

    环境描述:        环境介绍:CentOS6.5   zabbix3.2.6(zabbix客户端与服务端在一台主机)   1.在安装完zabbix之后,添加客户端,客户端配置(zabbix_ag ...