大数据学习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. rust门卡有什么用_Rust能力养成之(10)用Cargo进行项目管理:扩展 调用与优化
  2. php如何发起get网络请求,php发送get、post请求的几种方法
  3. 猫、交换机和路由器的区别
  4. 关节点和重连通分量,trajan算法实现(python)
  5. 「 ThoughtWorks面试 —— 一次愉快的技术交流 | 掘金技术征文」
  6. PHP中插件机制的一种实现方案
  7. Tips on rendering interiors
  8. NodeJS学习第一季-路由规则
  9. 关于SVN常用命令之export
  10. document.body.scrollTop值为0的解决方法[转]
  11. ubuntu14.04/Mint17上Gitolite的搭建过程
  12. 【FFmpeg命令】jpg与yuv(批量)互转
  13. php 解析p2p节目源,P2P加速解析与伪一次解析源码教程
  14. 坦克采样器加钢琴鼓组弦乐打击音源-IK Multimedia SampleTank 4 v4.1.4 + Library
  15. 如何给PPT加背景音乐
  16. 得意不张狂失败不气妥
  17. VLC-2.2.6命令行帮助文件
  18. 基于Attention_CNN_GRU的野生动物监测图像分类
  19. RPC服务和HTTP服务对比
  20. 如何搭建一套指标体系?

热门文章

  1. 开店攻略: 婴幼儿用品店导购培训,培训什么?
  2. 深入理解ReLU、Leaky ReLU、 PReLU、ELU、Softplus
  3. “互联网+”定义及相关概念解析
  4. 随手记安全吗?个人感觉可以从以下三个方面去考虑
  5. Android 全面屏的那些适配方法
  6. 项目中xml获取所有子节点
  7. 《鬼武者3》最快全攻略
  8. 日常开发中,你需要掌握的git使用技巧
  9. python 获取图片内容的坐标代码(图片格式为png)
  10. 双十二薅羊毛!这几款数码好物不可错过