大数据 HDFS(分布式文件系统)简单介绍

大数据简单入门

大数据时代
       最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,麦肯锡称:“
     数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。
     人们对于 海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余
     浪潮的到来。 ” “大数据”在物理学、生物学、环境生态学等领域以及军事、
     金融、通讯等行业存在已有时日,却因为近年来互联网和信息行业的发展
     而引起人们关注。
大数据概念
    定义: 短时间快速产生大量多种多样的有价值的信息 
大数据特征
     4V:
       1. 数据量大(volume)-------第一个特征是数据量大。大数据的起始计量单位至少是P(1000个T)、E(100万个T)或Z(10亿个T)
       2. 类型繁多(variety)-------第二个特征是数据类型繁多。包括网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。
       3. 价值密度低(value)-----第三个特征是数据价值密度相对较低。如随着物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何通过强大的机器算法更迅速地完成数据的价值“提纯”,是大数据时代亟待解决的难题。
       4. 速度快,时效高(veloctiy)----第四个特征是处理速度快,时效性要求高。这是大数据区分于传统数据挖掘最显著的特征。
谷歌的三大论文
  • GFS -----------------------------HDFS分布式文件系统(分布式的存储)
  • Mapreduce---------------------分布式处理
  • bigData--------------------------HBase
HDFS(分布式文件系统)
   yarn------------------资源和任务调度
   mapreduce--------批处理
   spark: 
              (1)spark core 
              (2)sparkSQL        可以使用SQL处理
              (3)sparkStreaming 流式处理
              (4)mllib                  机器学习库
              (5)graphx             spark停止维护
主从架构
    主节点:Namenode-----一个集群只能有一个主节点
    从节点:Datanode------一个集群可以有多个从节点
    客户端:client
                  HDFS的读写机制
                        |
                   /         \
               存文件         读文件  
        备份作用:为了解决安全问题(防止数据丢失)
HDFS的存储

存储方式:以block块的形式进行相应的存储

   文件线性切割成块(block):偏移量offset(byte)
   block分散存储在集群节点中
   单一文件block大小一致,文件与文件可以不一致
   block可是设置副本数,副本分散在的不同的节点中
   副本数不能超过节点数
   文件上传可以设置block大小和副本数
   已经上传的文件block副本数可以调和智能,但是block大小不能改变
   只支持一次写入多次读取 同一时刻只能有一个写入者
Namenode(主节点):
      1.  管理所有文件  管理DataNode的信息 管理元数据(描述数据的数据)
      2. 接受client的请求 负责读写
      3.  与Datanode之间进行相应的通信
Datanode(从节点):
      1.存储数据
      2.响应给主节点情况
      3.接受client的调度

HDFS写入步骤

           Namenode(主节点)<--------->client(客户)
                                           |
                                     /     |     \ 
                              Datanode Datanode Datanode 
  • 获取一个大文件

  • client将大文件进行切块 block数=文件大小/block大小

  • 向namenode响应 ------>block块数
    文件大小
    文件权限
    文件属主
    文件上传时间

  • client 切一块

  • client向Namenode申请资源(datanode的信息)

  • Namenode会返回一批负载不高的datanode给client

  • client会向datanode里发送block并且做好备份

  • datanode存放block块之后会向Namenode汇报情况

    HDFS读步骤

  • Namenode会向client发送一个请求,client接受请求之后,会向Namenode去申请节点信息(block所对应的id)

  • Namenode会向client发送节点信息

  • client获取到节点的信息之后 去datanode中拿取数据 (遵从就近原则)

备份机制
  • 集群内提交 ----------在提交的节点上防止block
  • 集群外提交 ----------选择一个负载不高的节点进行存放
  • 放置在在与第一个备份不同的机架任意节点上
  • 放置在第二歌备份的机架不同的节点上
pepeline管道
                Namenode<------->client
                                   ||
                                   ||
                                   ||
                                 Datanode===Datanode===Datanode
  
  不会浪费资源 只备份一个放入管道 Datanode进行读取 大大提高了效率
  1. Namenode在返回给client一些Datanode的信息之后
  2. client会和这些Datanode形成一个管道,并且将block切割成ackPackage(大小为64K)
  3. Datanode会从管道中拿去响应的数据进行存储
  4. 当存储完成之后,Datanode会向Namenode进行汇报
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值