zoukankan      html  css  js  c++  java
  • 了解Hadoop和大数据

    1. 场景:

       现在人产生数据越来越快,机器则更快,所以需要另外的一种处理数据的方法。
       硬盘容量增加,但是性能没跟上,解决办法是将数据分到多块硬盘,然后同时读取。

       问题:
         硬件问题 -- 复制数据  解决(RAID)
         分析需要从不同的硬盘读取的数据:  MapReduce

      Hadoop: 
          1) 可靠的共享存储(分布式存储)
          2) 抽象的分析接口(分布式分析)

    2. 大数据
        -- 可以理解为不能使用一台机器处理的数据

       大数据的核心是样本 = 总体

       特性:  大量性   快速性   多样性  易变性  准确性   复杂性 

       关键技术: 
        1) 数据分布在多台机器
             -- 可靠性: 每个数据块都复制到多个节点
                 性能: 多个节点同时处理数据
        2) 计算随数据走
           网络IO速度<<本地磁盘速度,大数据系统会尽量地将任务分配到离数据最近的机器上运行
           (程序运行时,将程序及其依赖包都复制到数据所在的机器运行)
           代码向数据迁移,避免大规模数据时,造成大量数据迁移的情况,尽量让一段数据的计算发生在同一台机器上
        3) 串行IO取代随机IO
           传输时间<<寻道时间,一般数据写入后不再修改

    ** 大数据主要解决的是数据比较多,所以存放到多台机器上,那么需要关注数据存储的问题,以及数据的安全保障,还有数据的计算问题,计算的性能;

    3. Hadoop

        Hadoop高容错、高可靠性、高扩展性,特别适合写一次,读多次的场景。

        适合:
            大规模数据
            流式数据(写一次,读多次)
            商用硬件(一般硬件)

       不适合:
           低延迟的数据访问
           大量的小文件
           频繁修改文件(基本就是写1次)

    ** 4. Hadoop架构

          Hadoop架构

           HDFS: 分布式文件存储
           YARN:分布式资源管理
           MapReduce:分布式计算
           Others:利用YARN的资源管理功能实现其他的数据处理方式

    内部各个节点基本都是采用Master-Woker架构

            

  • 相关阅读:
    BigTale
    GFS Google File System(中文翻译)
    MapReduce
    Google MapReduce/GFS/BigTable三大技术的论文中译版
    Linux常用命令大全
    linux常用命令
    Oracle复杂查询
    jquery on事件jquery on实现绑定多个事件
    Java 多线程(六) synchronized关键字详解
    什么才算是真正的编程能力?
  • 原文地址:https://www.cnblogs.com/yys369/p/5852293.html
Copyright © 2011-2022 走看看