【分布式】第一章 初识Hadoop
拓展
b(bit)位 最小数据单位 二进制 (0,1) 0101 4b
B(Byte)字节 1B=8b 汉字(占1-2字节)
KB 千字节 1KB=1024B 一小段文字
MB 兆字节 1MB=1024KB 一首歌(3-5M)
GB 吉字节 1GB=1024MB 一个视频
TB 太字节 1TB=1024GB 数据库(25张高清图片)
PB 拍字节 1PB=1024TB 公司,数据中心(2亿张图片)
EB 艾字节 1EB=1024PB 全球级别(全球天气观测和气候的数据)
ZB 泽字节 1ZB=1024EB 全球数量的总和
YB 尧字节 1YB=1024ZB
1.1 认识大数据
1.1.1 大数据与大模型
大数据和大模型之间有着非常紧密的关系。可以说,大数据是大模型发展的基石,而大模型是大数据价值挖掘的重要工具。
1.1.2 大数据的4V特征

多样化(格式多):
结构化数据:固定格式关系型数据库,excel
半结构化数据:具有一定的层次结构,介于结构化数据与非结构化数据之间json文件,xml文件,电子邮件
非结构化数据:无固定格式文本文件,图片,音乐
1.1.3 大数据技术发展
大数据技术要面对的基本问题,也是最核心的问题:就是海量数据如何可靠存储和高效计算。
1.2 Google的三驾马车
2003 GFS:The Google File System
2004 MapReduce: Simplified Data Processing on Large Clusters大型集群上的简单数据处理
2006 Bigtable:A Distributed Storage System for Structured Data一个分布式的结构化数据存储系统
1.2.1 GFS分布式文件系统的思想


GFS架构:
(1)GFS Master节点管理所有的文件系统元数据,包括命名空间,访问控制权,文件和块的映射信息以及当前块的位置信息。
(2)GFS存储的文件都被分割成固定大小的块,每个块都会被复制到多个块服务器上(可靠性)。块的冗余度默认为3.
(3)GFS Master还管理着系统范围内的活动,比如块服务器之间的数据迁移等。
(4)GFS Master与每个块服务器通信(发送心跳包),发送指令,获取状态。
副本的位置选择的策略要满足两个目标:最大化数据的可靠性和可用性。
1.2.2 MapReduce的思想 
MapReuce采用“分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个子书点共同完成,然后整合各个子节点的中间结果,得到最终的计算结果。MapReduce就是“分散任务,汇总结果”。
Map的输出是Reduce的输入
1.2.3 BigTable的思想

1.3 Hadoop的概述
1.3.1 Hadoop是什么?
(1)Hadoop是一个由Apache基金会所开发的分布式计算基础框架。
(2)主要解决,海量数据的存储和海量数据的分析计算问题。
(3)广义上来讲,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

1.3.2 Hadoop根据Google三篇论文实现
HDFS→GFS
MapReduce→MapReduce
HBase→BigTable
(1)HDFS :Hadoop Distributed File System,是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础。它是对GFS论文的实现。


(2)MapReduce 和Google MapReduce是一样
(3)HBase

1.3.3 Hadoop的发展简史

Hadoop1.0,Hadoop2.0的区别在于多了YARN

1.3.4 Hadoop优势
①高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
②高扩展性:在集群分配任务数据,可方便的扩展数以千计的节点。
③高效性:Hadoop是并行工作的,以加快任务处理速度
④高容错性:能够自动将失败的任务重新分配
1.3.5 Hadoop的特点
特点:①扩容能力强②成本低③高效率④可靠性
适合场景: 大数据分析;离线分析
不适合场景: 少量数据;复杂数据;在线分析
1.4 Hadoop生态圈
| 组件 | 功能 |
| HDFS | 分布式文件系统 |
| YARN | 资源管理和调度器 |
| MapReduce | 分布式并行编程模型 |
| HBase | Hadoop上的非关系型的分布式数据库 |
| Hive | Hadoop上的数据仓库 |
| Pig |
一个基于Hadoop的大规模数据分析平台, 提供类似SQL的查询语言Pig Latin |
| Flume |
一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统 |
| Sqoop | 用于在Hadoop与传统数据库之间进行数据传递 |
| Zookeeper | 提供分布式协调一致性服务 |
| Spark | 类似于Hadoop MapReduce的通用并行框架 |
1.4.1 HDFS的架构概述
NameNode:存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
DataNode:在本地文件系统存储文件块数据, 以及块数据的校验和。
Secondary NameNode:每隔一段时间对NameNode元数据备份。
1.4.2 Yarn的架构概述

ResourceManager:整个集群资源(内存、cpu等) 的老大;
NodeManager:单个节点服务器资源老大;
ApplicationMaster:单个任务运行的老大。(1)负责数据的切分(2)为应用程序申请资源并分配给内部任务。(3)任务的监控与容错。
Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、cpu, 磁盘、网络等。
1.4.3 MapReduce的架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)