首页 > 代码库 > 了解Hadoop和大数据

了解Hadoop和大数据

1. 场景:

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

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

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

 

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

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

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

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

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

3. Hadoop

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

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

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

** 4. Hadoop架构

      技术分享

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

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

 

 

        

了解Hadoop和大数据