《基于scala学习spark sql入门篇》-1初探大数据

一、概述

1.1什么是大数据?

  专业的解释是4V,即Volume(数量)、Variety(多样性、复杂性)、Value(基于高度分析的新价值)、velocity(速度)。

1.2大数据带来的技术变革

  1.计算瓶颈、2.存储瓶颈、3.数据库瓶颈

1.3大数据公司现存的模式

  1.有大数据,但不会利用的(电信,金融,医疗行业)。2.没有数据,但是知道如何帮助有数据的人利用数据的。3.既有数据,又有大数据处理能力的(BAT)

二、Hadoop概述

2.1什么是Hadoop

  一个分布式系统基础架构,由apache基金会开发,用户可以在不了分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。

2.2组成结构

HDFS、YARN、MAPREDUCE、Common

2.3为什么选择hadoop作为大数据平台的解决方案?

  1.源码开源。2.社区活跃,参与者很多。3.涉及到分布式存储的方方面面。4.已经得到了业界的验证。

三、HDFS

3.1概述

一个文件会被拆分成多个Block,一个blocksize:128M
NN:
1.负责客户端请求的响应
2.负责元数据(文件的名称,副本系数,block存放的DN)的管理
DN:
1.存储用户的文件对应的数据块(block)
2.要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况。

3.2环境搭建

1.使用hadoop-2.6.0-cdh5.7.0
2.jdk环境搭建、3.Linux环境配置(ssh、hostname、ip跟hsotname的映射关系)
4、hadoop-env.sh、core-site.xml、hdfs-site.xml三个配置文件的修改。

四、MapReduce分布式计算框架

缺点:
实时计算、流式计算、DAG计算(A—>B—>C,B跟C都依赖于A的计算结果)
优点(相对的):
易于编程、良好的扩展性、高容错性、海量数据的离线处理。

五、YARN

5.1架构

1个RM(ResourceManager)+ N个NM(NodeManager)

5.2RM的职责:

一个集群活跃的RM只有一个(可以集群,但是活跃的Rm只能有一个,只有当前活跃的Rm挂了的时候,备用的Rm才能被启用),负责整个集群的资源管理和调度
1.处理客户端的请求(启动/杀死)
2.启动/监控ApplicationMaster(一个作业对应一个AM)
3.通过心跳监控NM
4.系统的资源分配和调度

5.3NM

这个集群有N个,负责单个节点的资源管理和使用以及task 的运行情况
1.定期向RM汇报本节点的资源使用请求和各个Container的运行状态。
2.接受并梳理RM的container启停的各种指令
3.单个节点的资源管理和任务管理

5.4ApplicationMaster

每一个应用/作业对应一个,负责应用程序的管理
1.数据切分
2.为应用程序向RM申请(container),并分配给内部任务。
3.与NM通信以启停task,task是运行在container中的
4.task的监控和容错。

5.5Container

对任务运行情况的描述:CPU、memory、环境变量

5.6资源调度框架YARN流程

《基于scala学习spark sql入门篇》-1初探大数据_第1张图片
YARN执行流程

(1)用户向YARN提交作业
(2)Rm为该作业分配第一个container(AM)
(3)Rm会与对应的NM通信,要求NM在这个container上启动应用程序的AM
(4)Am首先向RM注册(用户可以通过RM观察作业的运行情况),然后AM将为各个任务申请资源,并监控运行情况。
(5)Am采用轮询的方式通过RPC协议向Rm申请和领取资源
(6)Am申请到资源以后,便和相应的NM通信,要求NM启动任务
(7)NM启动我们的作业对应的task

六、HIVE大数据数据仓库

作用:使用sql完成大数据相关统计,分析操作

6.1什么是Hive

1.由facebook开源,最初用于解决海量结构化的日志数据统计问题
2.构建在hadoop之上的数据仓库
3.Hive定义了一种类 sql查询语言:HQL(与sql很像但不完全相同)。
4.通常用于进行离线数据处理(采用Mapreduce)
5.底层支持多种不同过的执行引擎
6.支持多种不同的压缩格式,存储格式以及自定义函数。

6.2Hive部署架构

6.2.1生产环境

《基于scala学习spark sql入门篇》-1初探大数据_第2张图片
Hive部署架构-生产环境

6.2.2测试环境

《基于scala学习spark sql入门篇》-1初探大数据_第3张图片
Hive部署架构-测试环境

你可能感兴趣的:(《基于scala学习spark sql入门篇》-1初探大数据)