想学好大数据,首先要了解他的基础,所以,我们需要先了解HDFS和Hadoop以及MapReduce。
首先大家思考一个问题:如何合理的存储10T的电信通话记录?
下面给大家展现一个图片:
入的知识点:
元数据:描述数据的数据,主要描述数据的属性的信息,用来指示存储位置,历史数据文件查找和文件记录等功能;
NameNode:文件管理
DataNode:真是存储数据,数据存储
Client:文件获取,客户端实现读取,
这里面体现的一个思想就是分布式存储。
将数据分散存储在多台独立的设备上,传统的存储方式存在系统性能的瓶颈,同时在可靠性和安全性上也存在问题,不能满足大规模存储应用的需要。分布式网络存储采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,他不但提高了系统的可靠性,可用性和存取效率,还易于扩展。
分布式计算(100G数据,统计单词)
计算向数据移动,
HDFS:Hadoop分布式文件系统(冗余备份)
Map/Reduce:是一个使用简易的软件框架,基于他的应用程序能够运行在上千个商用机器组成的大型集群上,...;
核心思想:分而治之;map(任务分解),reduce(结果的汇总)
Hadoop的两大核心:HDFS和MapReduce
Hive:数据仓库,面向分析处理 OLAP(联机分析处理)
RDMS:传统的关系型数据库 ,面向业务处理 PLTP(联机事务处理)
HBase :非关系型数据库,主要存储非结构化数据,面向列处理方式;
Flume:大数据的数据采集工具
Sqoop:数据转移工具(将关系型数据库数据转移到HDFS(可逆))
Zookeeper:分布式协调系统(目录树结构、时间回调、客户端Session)
JobTacker:任务分解
TaskTracker:执行任务
Block:最小1M,默认128M,副本有三个(是连同原始文件一共三个,没有等级之分),分配在不同的节点上,为了可靠性和
完整性,副本数的数量不能超过集群节点的数量,可调整大小,但是会带来蝴蝶效应;
心跳机制:每隔几秒汇报一次;
HdfsClient与NameNode交互元数据信息
HdfsClient与DataNade交互文件Block数据
NameNode分为两类:
动态元数据:Block块的位置信息(通过DataNode心跳的方式来给NameNode汇报);
静态元数据:文件大小,节点信息,偏移量,block清单;
Client大致分为两类: 集群外的客户端和集群内的客户端
Client和NameNode交互的是元数据
Client和DataNode交互的Block块数据
交换:运行时内存和磁盘的双向交互叫交换,运行时从磁盘读取数据到内存
持久化:单向的,运行时会往磁盘中写数据,当出现挂机或重启时从磁盘读回。
Block块的位置信息,不会做持久化;
Edits:存放的是客户端对元数据增删改查的操作;
Editlog:可以做到挂机前的最后一笔操作
fsImage:只能做到某一时点的内存状态;
合并:3600秒,或者64M
SNN合并流程
sencongdary NameNode是减少NameNode的启动时间,
大家喜欢多多关注,你的关注是我最大的动力。
大家喜欢的也可以关注我的公众号
网友评论