大数据基础知识及分布式存储原理
大数据学习day01
- 什么是大数据(Big Data)
- 大数据概念
- 大数据技术:
- 分布式存储
- 分布式计算
- 分布式存储
- HDFS
- HDFS原理
- Client(客户端)
- NameNode
- Secondary NameNode
- 合并机制过程
- DataNode
- HDFS读写流程
- 读流程
- 写流程
- HDFS备份机制
- HDFS权限
- HDFS安全模式
什么是大数据(Big Data)
大数据概念
大数据是指海量数据或巨量数据,其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策。
短时间内快速的产生海量的多种多样的有价值的数据。
大数据技术:
分布式存储
分布式计算
分布式批处理
攒一段时间的数据,然后再未来某一个时间来处理这批数据分布式流处理(实时处理)
数据不需要积攒,直接处理,每产生一条数据,立马对这条数据进行处理,将结果推送到前端,如双十一的天猫大屏幕,qq实时在线分布情况机器学习
分布式存储
HDFS
HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很多便利。
HDFS原理
Client(客户端)
- 文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。
- 与 NameNode 交互,获取文件的位置信息。
- 与 DataNode 交互,读取或者写入数据。
- Client 提供一些命令来管理 HDFS,比如启动或者关闭HDFS。
- Client 可以通过一些命令来访问 HDFS。
NameNode
Namenode存放文件系统树及所有文件、目录的元数据。就是 master,它是一个主管、管理者。
6. 管理 HDFS 的名称空间。
7. 管理数据块(Block)映射信息
8. 配置副本策略
9. 处理客户端读写请求。
Secondary NameNode
模拟执行edits文件,产生元数据,将元数据与fsimage合并完成后,将新的fsimage推送给namenode
合并机制过程
Secondary NameNode节点的工作流程:
1)、定期的通过远程方法获取NameNode节点上编辑日志(edits)的大小;
2)、如果NameNode节点上编辑日很小,就不需要合并NameNode上的fsimage文件和编辑日志;
3)、通过远程接口启动一次检查点过程,这时名字节点NameNode需要创建一个新的编辑日志文件edits.new,后续对文件系统的任何修改都记录到这个新编辑日志里;
4)、SecondNameNode点将Namenode上的fsimage文件和原编辑日志下载到本地,并在内存中合并,合并的结果输出为fsimage.ckpt;
5)、再次发起请求通知NameNode节点数据(fsimage.ckpt)已准备好,然后NameNode节点会下载fsimage.ckpt(并替换掉原来的fsimage);
6)、NameNode下载结束后,Secondary NameNode会通过远程调用(NameNodeProtocol.rollFsImage())完成这次检查点,NameNode在响应该远程调用时,会用fsimage.ckpt覆盖原来的fsimage文件,形成新的命名空间镜像,同时将新的编辑日志edits.new改名为edits。
并不是所有元数据都会持久化
合并触发机制:
- 超过3600ms
- edits文件超过64mb
DataNode
主要功能:存储数据块(block)默认大小为128mb
DN启动时会向NN汇报block信息,并且之后通过向NN发送心跳保持联系(3秒一次),如果NN在10分钟内没有收到DN的心跳,就认为该DN已经lost,并copy其上的block到其他DN。
HDFS读写流程
读流程
- 客户端发送请求
- Namenode返回所有block的位置信息,并将这些信息返回给客户端
- 客户端拿到block的位置信息后调用方法读取block信息
- datanode返回给客户端
写流程
- 客户端发送请求
- namenode根据以上信息算出文件需要切成多少块block,以及block要存放在哪个datanode上,并将这些信息返回给客户端。
- 客户端调用方法首先将其中一个block写在datanode上,每一个block默认都有3个副本,并不是由客户端分别往3个datanode上写3份,而是由已经上传了block的datanode产生新的线程,由这个namenode按照放置副本规则往其它datanode写副本
- 写完后返回给客户端一个信息,然后客户端在将信息反馈给namenode
HDFS备份机制
- 第一个block存储在负载不是很高的一台服务器
- 第一个备份的block存储在与第一个block不同的机架随机一条服务器上
- 第二个备份在与第一个备份相同的机架随机一台服务器
HDFS权限
依据Linux系统的用户系统 默认权限
HDFS安全模式
- 加载fsimage,加载到内存中
- 如果edits文件不为空,那么namenode自己来合并
- 检查DN的健康情况
- 如果有DN挂掉,指挥做备份
处于安全模式过程中,如果fsimage已经加载到内存中,可以查看到文件目录,但是无法读取处于安全模式过程中,如果fsimage已经加载到内存中,可以查看到文件目录,但是无法读取
大数据基础知识及分布式存储原理相关推荐
- hawk大数据基础知识总结(1)
一.大数据概述 1.1大数据的概念 大数据一共具有三个特征:(1)全样而非抽样:(2)效率而非精确:(3)相关而非因果. (1)在过去由于缺乏获取全体样本的手段,人们发明了"随机调研数据&q ...
- 大数据基础知识(下)
大数据基础知识:技巧与概念 大数据伦理 匿名方面的挑战 保密性方面的挑战 大数据的来源和结构 人类生成的数据 机器生成的数据 结构化数据 非结构化数据 存储大数据 分布式存储与云 云计算:IaaS.P ...
- 大数据_03【大数据基础知识】
大数据_03 [大数据基础知识] 01 大数据概述 02 什么是大数据?(Big Data) 03 传统数据与大数据的对比 04 大数据的特点 4.1 传统数据与大数据处理服务器系统安装对比 4.2 ...
- 大数据基础知识(上)
大数据基础知识:技巧与概念 什么是大数据 数量多 流转快 种类多 大数据需要具备全部三个特征吗? 如何使用大数据 了解消费者大数据 了解企业大数据 了解科学研究大数据 大数据与数据科学 大数据与小数据 ...
- 大数据_02【大数据基础知识】
大数据_02[大数据基础知识] 01 什么是服务器 02 服务器类型 03 存储磁盘(硬盘) 04 什么是RAID RAID特点 RAID种类 05 什么是集群 06 什么是计算机网络 07 什么是交 ...
- Big Data大数据基础知识
文章目录 大数据基础知识 什么是服务器? 服务器类型 什么是RAID 什么是集群? 为什么和谐号.复兴号会这么快? 大数据基础知识 内容概要 什么是服务器? 什么是RAID? 什么是集群? 什么是网络 ...
- 大数据基础知识全集,大数据爱好者收藏必备
目前,市场上的大数据产品太多,但远远低于IAAS的标准化水平,各产品之间的差异还不十分清楚.当许多公司正在制造大数据平台或大数据解决方案时,他们往往不知道选择哪些产品来满足他们的需求 ...
- 大数据基础知识科普(2)
上一篇<大数据基础知识科普(1)>为大家讲解了关于服务器,存储磁盘以及RAID的内容.这一篇将沿着之前的脚步,为大家带来更多学习大数据必须要掌握的知识! 目录 什么是集群? 什么是计算机网 ...
- 【大数据】大数据基础知识科普--数据分层
大数据基础知识科普–数据分层 (ETL.ODS.DW.DWD.DWM.DWS.DIM) 零.数据加载层:ETL(Extract-Transform-Load) 一.数据操作层:ODS(Operatio ...
最新文章
- 中兴服务器raid配置_-服务器Raid卡更换后如何恢复硬盘Raid组信息
- SQL Server数据库基本操作(一)
- VS2015中快捷注释代码块
- 数据库_7_SQL基本操作——表操作
- [剑指offer][JAVA]面试题第[32-2]题[从上到下打印二叉树][BFS]
- linux网络编程——客户端编程
- 2分钟 Docker 部署 SprinBoot 集成 Flowable 工作流引擎
- JetBrains系列WebStorm等中文输入法无法跟随光标的问题的解决办法
- hdu 1698 Just a Hook 基本线段树
- FireFox的插件范例,竟然有问题
- 安装IDM Integration Module插件
- 网络安全中常见网络命令
- matlab中矩阵的所有元素求和,matlab 矩阵元素求和、求均值(期望)和均方差
- GT-P3110如何root
- 形式化方法 Assignment 4: Proof for predicate logic
- Markdown必备,Lsky-pro图床配置
- CMOS图像传感器OV7725数据手册
- 上班族用哪个邮箱好用,如何正确使用邮件工作?
- 新浪微博 ios/android 你所访问的站点在新浪微博的认证失败 解决方法
- 传统企业想要实现数字化转型,主要包含以下几大趋势?
热门文章
- 关于LSTM的units参数
- PHP实现加减乘除图片验证码,ThinkPHP 3.2.3实现加减乘除图片验证码
- 具备全局观念,系统解决问题
- 怎样在线做动图?一招教你快速完成gif动画制作
- android 厨房的使用方法,下厨房APP怎么用 下厨房使用方法汇总
- 深度学习 | 深入解析CNN pooling 池化层原理及其作用
- 人工智能、机器学习、深度学习和神经网络
- java线程学习(二):线程池
- 关于K3wise系列的二次开发
- DBCO-COOH分子量:305.3,CAS:1353016-70-2,二苯基环辛炔-羧基;类似有DBCO-NH2、SH、MAL、NHS等等