大数据基础--大数据深入了解

目录

  1. 第一部分 《大数据概述》
    传统数据如何处理?
    什么是大数据?
    传统数据与大数据的对比
    大数据的特点?
    大数据前/后服务器系统安装部署区别是什么?。
    大数据生态系统以及技术组件介绍
    大数据技术为什么快?
    什么是分布式存储?分布式计算?
    Hadoop生态系统的组件
    传统与大数据的对比

2. 第二部分《Hadoop详解》
Hadoop的介绍以及发展历史
Hadoop的历史版本介绍
Hadoop三大公司发型版本介绍
Hadoop的模块组成
Hadoop的架构模型

1、大数据概述

传统数据处理介绍
目标: 了解大数据到来之前,传统数据的通用处理模式
数据来源:
1、企业内部管理系统 ,如员工考勤(打卡)记录。
2、客户管理系统(CRM)
数据特征:
1、数据增长速度比较缓慢,种类单一。
2、数据量为GB级别,数据量较小。
数据处理方式:
1、数据保存在数据库中。处理时以处理器为中心,应用程序到数据库中检索数据再进行计算(移
动数据到程序端)
遇到的问题:
1、数据量越来越大、数据处理的速度越来越慢。
2、数据种类越来越多,出现很多数据库无法存储的数据,如音频、照片、视频等。

2、什么是大数据?(Big Data)

目标:掌握什么是大数据、传统数据与大数据的对比有哪些区别、大数据的特点
是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

是指一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
数据的存储单位
最小的基本单位是bit
1 Byte =8 bit
1 KB = 1,024 Bytes = 8192 bit

KB MB GB TB PB EB ZB YB BB NB DB 进率1024
大数据:
单个大数据文件,和多个小文件组成的大文件
在这里插入图片描述

3、传统数据与大数据的对比

在这里插入图片描述

4、大数据的特点

数据集的主要特点
Volume(大量):数据量大,从TB到PB级别。
Velocity(高速):数据量在持续增加(两位数的年增长率)
variety(多样):数据类型复杂,超过80%的数据是非结构化的。
value(低密度高价值):低成本创建高价值。

其他特征
数据来自大量源,需要做相关性分析。
需要实时或者准实时的流式采集,有些应用90%写vs.10%读。
数据需要长时间存储,非热点数据也会被随机访问

传统数据与大数据处理服务器系统安装对比
目标:了解传统数据与大数据处理服务器系统安装有什么不同

传统数据下服务器系统安装
在传统数据背景下,服务器系统安装中,系统硬盘、数据硬盘完全隔离。通常会将多块数据硬盘制作成LVM(逻辑卷),即将多块物理硬盘通过软件技术“拼接”在一起形成一个大的硬盘(逻辑上是一个硬盘)。
在这里插入图片描述
大数据下服务器系统安装
在大数据背景下,服务器系统安装中,系统硬盘、数据硬盘完全隔离。数据硬盘必须独立挂载,每个硬盘挂载到系统的一个独立的目录下。
在这里插入图片描述

5、大数据生态系统

目标:了解大数据生态系统,大数据技术列举
大数据:历时数量逐渐攀升、新型数据类型逐渐增多。是企业必然会遇到的问题。
新技术:传统方式与技术无法处理大量、种类繁多的的数据、需要新的技术解决新的问题。
技术人员:有了问题提,有了解决问题提的技术,需要大量懂技术的人解决问题。
最佳实践:解决 问题的方法,途径有很多,寻找最好的解决方法。
商业模式:有了最好的解决办法,同行业可以复用,不同行业可以借鉴,便形成了商业模式。
在这里插入图片描述
新技术
HADOOP:
HDFS:海量数据存储。
YARN:集群资源调度。
MapReduce:历史数据离线计算
Hive:海量数据存储仓库
Hbase:海量数据快速查询数据库
Zookeeper:集群组件协调。
Impala:是一个能查询存储在Hadoop的HDFS和HBase中的PB级数据的交互式查询引擎。
Kudu:是一个既能够支持高吞吐批处理,又能够满足低延时随机读取的综合组件
Sqoop:数据同步组件(关系型数据库与hadoop同步)。
Flume :海量数据收集。
Kafka:消息总线。
Oozie:工作流协调。
Azkaban: 工作流协调。
Zeppelin: 数据可视化。
Hue: 数据可视化。
Flink:实时计算引擎。
Kylin: 分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析。
Elasticsearch: 是一个分布式多用户能力的全文搜索引擎。
Logstash: 一个开源数据搜集引擎。
Kibana: 一个开源的分析和可视化平台。

SPARK
SparkCore:Spark 核心组件
SparkSQL:高效数仓SQL引擎
Spark Streaming: 实时计算引擎
Structured: 实时计算引擎2.0
Spark MLlib:机器学习引擎
Spark GraphX:图计算引擎
在这里插入图片描述

### 6、大数据技术为什么快?
目标:掌握传统数据与大数据相比在扩展性的区别、存储方式上的区别、可用性上
的区别、计算模型上的区别。

传统数据与大数据处理方式对比
在这里插入图片描述
纵向扩展:
表示在需要处理更多负载时通过提高单个系统处理能力的方法来解决问题。最简单的情况就是为应用系统提供更为强大的硬件。例如如果数据库所在的服务器实例只有2G内存、低配CPU、小容量硬盘,进而导致了数据库不能高效地运行,那么我们就可以通过将该服务器的内存扩展至8G、更换大容量硬盘或者更换高性能服务器来解决这个问题
横向扩展
是将服务分割为众多的子服务并在负载平衡等技术的帮助下在应用中添加新的服务实例
例如如果数据库所在的服务器实例只有一台服务器,进而导致了数据库不能高效地运行,那么我们就可以通过增加服务器数量,将其构成一个集群来解决这个问题。

资源集中(计算与存储)
集中式计算:数据计算几乎完全依赖于一台中、大型的中心计算机的处理能力。和它相连的终端(用户设备)具有各不相同的智能程度。实际上大多数终端完全不具有处理能力,仅仅作为一台输入输出设备使用。
集中式存储:指建立一个庞大的数据库,把各种信息存入其中,各种功能模块围绕信息库的周围并对信息库进行录入、修改、查询、删除等操作的组织方式。

分布式(计算与存储)
分布式计算:是一种计算方法,是将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

分布式存储:是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落,多台服务器。

大数据技术快的原因
1、分布式存储
2、分布式并行计算
3、移动程序到数据端
4、更前卫、更先进的实现思路
5、更细分的业务场景
6、更先进的硬件技术+更先进的软件技术

7、Hadoop详解

Hadoop的介绍以及发展历史
目标:了解Hadoop的起源,作者、发展历程

Hadoop之父Doug Cutting
在这里插入图片描述

  1. Hadoop最早起源于lucene下的Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
  2. 2003年、2004年谷歌发表的三篇论文为该问题提供了可行的解决方案。
    ——分布式文件系统(GFS),可用于处理海量网页的存储
    ——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。
     ——分布式的结构化数据存储系统Bigtable,用来处理海量结构化数据。
  3. Doug Cutting基于这三篇论文完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目(同年,cloudera公司成立),迎来了它的快速发展期。
    为什么叫Hadoop? Logo为什么是黄色的大象?
    狭义上来说,Hadoop就是单独指代Hadoop这个软件(HDFS+MAPREDUCE)
    广义上来说,Hadoop指代大数据的一个生态圈(Hadoop生态圈),包括很多其他的软件。

Hadoop的历史版本介绍
0.x系列版本:Hadoop当中最早的一个开源版本,在此基础上演变而来的1.x以及2.x的版本
1.x版本系列:Hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等
2.x版本系列:架构产生重大变化,引入了yarn平台等许多新特性
在这里插入图片描述

8、Hadoop三大公司发型版本介绍

目标:了解最出名的三个Hadoop版本
1、免费开源版本apache:http://Hadoop.apache.org/
优点:拥有全世界的开源贡献者,代码更新迭代版本比较快,
缺点:版本的升级,版本的维护,版本的兼容性,版本的补丁都可能考虑不太周到,学习可以用,实际生产工作环境尽量不要使用
apache所有软件的下载地址(包括各种历史版本):
http://archive.apache.org/dist/
2、免费开源版本hortonWorks:https://hortonworks.com/
hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态,web管理界面软件HDF网址(http://ambari.apache.org/)
3、服务收费版本ClouderaManager: https://www.cloudera.com/
cloudera主要是美国一家大数据公司在apache开源Hadoop的版本上,通过自己公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题,生产环境推荐使用。

Hadoop的模块组成
1、HDFS:一个高可靠、高吞吐量的分布式文件系统。
2、MapReduce:一个分布式的离线并行计算框架。
3、YARN:作业调度与集群资源管理的框架。
4、Common:支持其他模块的工具模块。

9、Hadoop的架构模型(1.x,2.x的各种架构模型介绍)

目标:了解Hadoop1.x、2.x架构及两个版本架构的差异。

1.x的版本架构模型介绍
在这里插入图片描述
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于Hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据

数据计算核心模块:
JobTracker:接收用户的计算请求任务,并分配任务给从节点
TaskTracker:负责执行主节点JobTracker分配的任务

2.x的版本架构模型介绍
第一种:NameNode与ResourceManager单节点架构模型
在这里插入图片描述
文件系统核心模块
NameNode:集群当中的主节点,主要用于管理集群当中的各种元数据
secondaryNameNode:主要能用于Hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据

数据计算核心模块
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配
NodeManager:负责执行主节点APPmaster分配的任务

第二种:NameNode单节点与ResourceManager高可用架构模型
在这里插入图片描述
文件系统核心模块
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于Hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据

数据计算核心模块
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分,通过zookeeper实现ResourceManager的高可用
NodeManager:负责执行主节点ResourceManager分配的任务

第三种:NameNode高可用与ResourceManager单节点架构模型
在这里插入图片描述
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,其中nameNode可以有两个,形成高可用状态
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
JournalNode:文件系统元数据信息管理
数据计算核心模块
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分
NodeManager:负责执行主节点ResourceManager分配的任务

第四种:NameNode与ResourceManager高可用架构模型
在这里插入图片描述
文件系统核心模块:
**NameNode:**集群当中的主节点,主要用于管理集群当中的各种数据,一般都是使用两个,实现HA高可用
JournalNode:元数据信息管理进程,一般都是奇数个
**DataNode:**从节点,用于数据的存储

数据计算核心模块:
ResourceManager:Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用
NodeManager:Yarn平台的从节点,主要用于处理ResourceManager分配的任务

发布了41 篇原创文章 · 获赞 114 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Mr_Yang888/article/details/102847655