大数据学习day01

  • 什么是大数据(Big Data)
    • 大数据概念
  • 大数据技术:
    • 分布式存储
    • 分布式计算
  • 分布式存储
      • HDFS
    • HDFS原理
        • Client(客户端)
        • NameNode
        • Secondary NameNode
          • 合并机制过程
        • DataNode
      • HDFS读写流程
        • 读流程
        • 写流程
      • HDFS备份机制
      • HDFS权限
      • HDFS安全模式

什么是大数据(Big Data)

大数据概念

大数据是指海量数据或巨量数据,其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策。
短时间内快速的产生海量的多种多样的有价值的数据。

大数据技术:

分布式存储

分布式计算

  1. 分布式批处理
    攒一段时间的数据,然后再未来某一个时间来处理这批数据

  2. 分布式流处理(实时处理)
    数据不需要积攒,直接处理,每产生一条数据,立马对这条数据进行处理,将结果推送到前端,如双十一的天猫大屏幕,qq实时在线分布情况

  3. 机器学习

分布式存储

HDFS

HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很多便利。

HDFS原理

Client(客户端)

  1. 文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。
  2. 与 NameNode 交互,获取文件的位置信息。
  3. 与 DataNode 交互,读取或者写入数据。
  4. Client 提供一些命令来管理 HDFS,比如启动或者关闭HDFS。
  5. 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。
并不是所有元数据都会持久化
合并触发机制:

  1. 超过3600ms
  2. edits文件超过64mb

DataNode

主要功能:存储数据块(block)默认大小为128mb
DN启动时会向NN汇报block信息,并且之后通过向NN发送心跳保持联系(3秒一次),如果NN在10分钟内没有收到DN的心跳,就认为该DN已经lost,并copy其上的block到其他DN。

HDFS读写流程

读流程

  1. 客户端发送请求
  2. Namenode返回所有block的位置信息,并将这些信息返回给客户端
  3. 客户端拿到block的位置信息后调用方法读取block信息
  4. datanode返回给客户端

写流程

  1. 客户端发送请求
  2. namenode根据以上信息算出文件需要切成多少块block,以及block要存放在哪个datanode上,并将这些信息返回给客户端。
  3. 客户端调用方法首先将其中一个block写在datanode上,每一个block默认都有3个副本,并不是由客户端分别往3个datanode上写3份,而是由已经上传了block的datanode产生新的线程,由这个namenode按照放置副本规则往其它datanode写副本
  4. 写完后返回给客户端一个信息,然后客户端在将信息反馈给namenode

HDFS备份机制

  1. 第一个block存储在负载不是很高的一台服务器
  2. 第一个备份的block存储在与第一个block不同的机架随机一条服务器上
  3. 第二个备份在与第一个备份相同的机架随机一台服务器

HDFS权限

依据Linux系统的用户系统 默认权限

HDFS安全模式

  1. 加载fsimage,加载到内存中
  2. 如果edits文件不为空,那么namenode自己来合并
  3. 检查DN的健康情况
  4. 如果有DN挂掉,指挥做备份
    处于安全模式过程中,如果fsimage已经加载到内存中,可以查看到文件目录,但是无法读取处于安全模式过程中,如果fsimage已经加载到内存中,可以查看到文件目录,但是无法读取

大数据基础知识及分布式存储原理相关推荐

  1. hawk大数据基础知识总结(1)

    一.大数据概述 1.1大数据的概念 大数据一共具有三个特征:(1)全样而非抽样:(2)效率而非精确:(3)相关而非因果. (1)在过去由于缺乏获取全体样本的手段,人们发明了"随机调研数据&q ...

  2. 大数据基础知识(下)

    大数据基础知识:技巧与概念 大数据伦理 匿名方面的挑战 保密性方面的挑战 大数据的来源和结构 人类生成的数据 机器生成的数据 结构化数据 非结构化数据 存储大数据 分布式存储与云 云计算:IaaS.P ...

  3. 大数据_03【大数据基础知识】

    大数据_03 [大数据基础知识] 01 大数据概述 02 什么是大数据?(Big Data) 03 传统数据与大数据的对比 04 大数据的特点 4.1 传统数据与大数据处理服务器系统安装对比 4.2 ...

  4. 大数据基础知识(上)

    大数据基础知识:技巧与概念 什么是大数据 数量多 流转快 种类多 大数据需要具备全部三个特征吗? 如何使用大数据 了解消费者大数据 了解企业大数据 了解科学研究大数据 大数据与数据科学 大数据与小数据 ...

  5. 大数据_02【大数据基础知识】

    大数据_02[大数据基础知识] 01 什么是服务器 02 服务器类型 03 存储磁盘(硬盘) 04 什么是RAID RAID特点 RAID种类 05 什么是集群 06 什么是计算机网络 07 什么是交 ...

  6. Big Data大数据基础知识

    文章目录 大数据基础知识 什么是服务器? 服务器类型 什么是RAID 什么是集群? 为什么和谐号.复兴号会这么快? 大数据基础知识 内容概要 什么是服务器? 什么是RAID? 什么是集群? 什么是网络 ...

  7. 大数据基础知识全集,大数据爱好者收藏必备

             目前,市场上的大数据产品太多,但远远低于IAAS的标准化水平,各产品之间的差异还不十分清楚.当许多公司正在制造大数据平台或大数据解决方案时,他们往往不知道选择哪些产品来满足他们的需求 ...

  8. 大数据基础知识科普(2)

    上一篇<大数据基础知识科普(1)>为大家讲解了关于服务器,存储磁盘以及RAID的内容.这一篇将沿着之前的脚步,为大家带来更多学习大数据必须要掌握的知识! 目录 什么是集群? 什么是计算机网 ...

  9. 【大数据】大数据基础知识科普--数据分层

    大数据基础知识科普–数据分层 (ETL.ODS.DW.DWD.DWM.DWS.DIM) 零.数据加载层:ETL(Extract-Transform-Load) 一.数据操作层:ODS(Operatio ...

最新文章

  1. 中兴服务器raid配置_-服务器Raid卡更换后如何恢复硬盘Raid组信息
  2. SQL Server数据库基本操作(一)
  3. VS2015中快捷注释代码块
  4. 数据库_7_SQL基本操作——表操作
  5. [剑指offer][JAVA]面试题第[32-2]题[从上到下打印二叉树][BFS]
  6. linux网络编程——客户端编程
  7. 2分钟 Docker 部署 SprinBoot 集成 Flowable 工作流引擎
  8. JetBrains系列WebStorm等中文输入法无法跟随光标的问题的解决办法
  9. hdu 1698 Just a Hook 基本线段树
  10. FireFox的插件范例,竟然有问题
  11. 安装IDM Integration Module插件
  12. 网络安全中常见网络命令
  13. matlab中矩阵的所有元素求和,matlab 矩阵元素求和、求均值(期望)和均方差
  14. GT-P3110如何root
  15. 形式化方法 Assignment 4: Proof for predicate logic
  16. Markdown必备,Lsky-pro图床配置
  17. CMOS图像传感器OV7725数据手册
  18. 上班族用哪个邮箱好用,如何正确使用邮件工作?
  19. 新浪微博 ios/android 你所访问的站点在新浪微博的认证失败 解决方法
  20. 传统企业想要实现数字化转型,主要包含以下几大趋势?

热门文章

  1. 关于LSTM的units参数
  2. PHP实现加减乘除图片验证码,ThinkPHP 3.2.3实现加减乘除图片验证码
  3. 具备全局观念,系统解决问题
  4. 怎样在线做动图?一招教你快速完成gif动画制作
  5. android 厨房的使用方法,下厨房APP怎么用 下厨房使用方法汇总
  6. 深度学习 | 深入解析CNN pooling 池化层原理及其作用
  7. 人工智能、机器学习、深度学习和神经网络
  8. java线程学习(二):线程池
  9. 关于K3wise系列的二次开发
  10. DBCO-COOH分子量:305.3,CAS:1353016-70-2,二苯基环辛炔-羧基;类似有DBCO-NH2、SH、MAL、NHS等等