大数据概览及当下实用的主流开发

        在信息时代,数据的增长速度不断增加,曾经只能飞信、QQ的我们,随着4G、5G的到来,可以用智能手机刷视屏、听歌、玩手游、购物等等的事情都可以在通过网络实现。而这一个个的实现有大量的数据产生,原来的邮件、信息最多也就几百KB;而现在的一个音乐视屏少说也要好几MB。这10多倍的数据增长,为数据的存储和使用带来的难题,大数据就是因此出现在人们的视线。

 

一、大数据
      个人对大数据的理解是:短时间内快速产生的量多种多样有价值的信息。

特性:

      大数据的5V特性 Vokume(大量)、Velocity(高速)、Variety(多样)、Value(低价值价值密度)、Veracity(准确)


解决数据量过大的问题 :   

      两种解决办法
              垂直扩展:改变电脑内存的硬盘量,由于电脑银盘装载有极限,所以配          合横向扩展使用。
               横向扩展:简单廉价的服务器或者PC端就可以。(优选)

二、hadoop:

        hadoop是当前大数据开发的一个生态圈,起初它能对大数据的计算进行离线的批量处理,现下还能够支持在线的基于内存和实时的流进行分析处理。
        
hadoop官网: hadoop的浏览官网老版的地址                                        

   http://hadoop.apache.org/old/,及当下的hadoop官网址  

   http://hadoop.apache.org/进入可查看介绍应用。

 

1.主要构成来源:

        根据谷歌三大论文衍生出:

                     GFS 衍生出    HDFS分布式文件系统,主要进行分布式的存储

                     MapReduce    主要进行分布式的处理

                     BigData           衍生出  HBase

 

常用机制:

      1) HDFS     分布式文件存储系统

                    主节点(Namenode)、从节点(Datenode)、client

       HDFS的读写机制

                     存文件:分布式将文件存储在多台服务器上,为了确保数据安全会有备份文件;

                      读文件: 查找数据所在服务器,在找到相应服务器进行抓取;

                      注:为了解决安全问题数据会备份三分;

 

       2)yarn----资源和任务调度

       3)为了让MapReduce(批处理)处理更快,产生了spark

       spark有多种

                   1)Spark Core

                   2 ) SparkSql--可以使用sql处理

                   3 )SparkStreaming --流失处理

                   4)Mllib  --机器学习库

                   5 )graphx --Spark已经停止维护

用到的软件:

                    kafka   分布式的消息通讯工具

                    zookeeper --协调服务

                    flume   可靠的日志采集工具

                    hive --使用sql语句惊醒查询  --大型数据库

                    flink 由Java和Scala编写的分布式流数据流引擎;开源流处理框架

                    storm  免费的开源分布式实时计算系统

                    hbase   分布式的、面向列的开源数据库,是非关系型的数据库

 

2、HDFS主从架构:

                  1) 构成:

                           主节点(Namenode)、从节点(Datanode)、委托(client)

                 

                   2)hdfs的读写机制:

                             存文件:以block块的形式进行存储,当处理复杂的、大量批量的数据时,会用到委托client;存储时会进行一个汇报。

                            读文件:当处理数据小时Namenode会直接从Datenode中获取 要读取的数据;当数据流很大时,Namenode会先将操作委托给client 去执行,再有client从Datenode中抓取数据。

                            备份*1:为了解决安全问题。首先,第一份数据存储会存储在主节点上,主节点的服务器仍能同时设置一个从节点;第二份数据会存 在,另一台机架(非主节点的机架)的从节点上;第三份数据会存在,第二份数据存储的同一机架的不同从节点位置上。

3、理解存储机制

      1)hadoop是以block块的形式将大文件进行相应的存储     1.x版本的时候默认块的大小为64M,而2.x版本之后默认的块的大小均为128M

      2 ) 文件线性切割块(Block):从第一个块开始切割成若干个大小相同的块,块的大小由切割第一个块时设定的块的大小决定;偏移量offset(byte):存储位置信息,如第几个块。

      3)单一文件Block大小一致、文件与文件可以不一致(同一个文件的切割块大小是一致的,不同文件的切割可以另行设定)

      4 )Block可以设置副本个数,副本分散值不同节点中(在安全机制中,会将存储的块进行备份默认是三分存储,默认存储位置见*1

      5 )副本数不要超过节点数量(显然一个副本要对应存储在一个服务器上,若节点数小于备份副本数时,就会出现)

      6 )文件上传可以设置Block大小和副本数

      7 )已上传可以设置Block大小和副本数

      8 )已经上传的文件Block副本数可以调整,大小不变

      9 )只支持一次写入多次读取  同时只有一个写入者

 

4、   hadoop中的个成员作用 

     1)Namenode     主节点

             a、起掌控、控制的作用;管理DataName的信息;管理数据元数据(补充:元数据  是  描述数据的数据; 源数据  是 指普通的数据)。

             b、接受client(委托)的请求、读写

              c、与DataName之间进行相应的同信

     2) DataNode      从节点

            a、进行具体的数据块的存储

            b、汇报自己的概况

            c、接受client(委托)的一个安排

5、写的操作经过的具体流程

       a、大文件→→→b、client(委托)会将大文件进行切块(文件块的大小默认为128M也可自行设置)→→→c、向主节点汇报(汇报的数据有:1、块数;2、文件的大小;3、文件的权限;4、文件的主属;5、文件的上传时间)→→→

d、client切下一块例128M→→→e、client会向Namenode去申请资源---Datanode的信息→→→f、Namenode会返回一批负载不高的Datanode给client→→→g、client会向Datanode里面发送block并且做好备份→→→h、Datanode存放block块之后会向Namenode汇报情况

注:其中d→f是切块存储的循环过程,可放在for(Block block:blocks){}中直到切完为止。

 

6、读取请求:

        1、Namenode会向client发送一个请求,client接受到请求之后,会向Namenode去申请节点信息(blockid)

         2、Namenode会向clientf发送一些节点信息

         3、client获取到节点信息之后去Datanode上拿去数据 ------(就近原则:会去 最近的存储副本块的节点获取)

7、备份机制

        a、     1)集群内提交:在提交节点上放置block

                   2 )  集群内提交: 选择一个复制不高的节点进行存放

        b、     放置在与第一个备份不同机制的任意节点上

        c、     放置在第二个机架的不同节点上

8、pipeline管道

        1)、Namenode在返回给client一些Datanode的信息   之后

        2)、client会和这些Datanode形成一个管道,并且将block切割成一个个ackPackage(64k)

        3 )、 Datanode会从管道中拿取相应的数据进行存储

        4)、当存储完成之后,Datanode会向Namenode进行汇报

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值