zoukankan      html  css  js  c++  java
  • 班课2

    1. Hadoop是一个open-source software framework以分布式方式存储大数据,并行处理大数据,建立在大型商品硬件集群上

    2. Hadoop can handle volume, velocity, variety

    3. 对volume而言,Hadoop提供:

    冗余、容错的数据存储(HDFS)

    parallel computation framework(MapReduce)

    工作协调(YARN)

    4. the master-slave architecture of Hadoop

    类比manager本身不做事情,将task分给worker完成。为了避免一个worker缺席造成整个task无法完成的问题,同一个task会被分配给两个人

    5. HDFS (Hadoop Distributed File Systems)

    follows master-slave architecture,允许在多台设备上存储数据,允许多个用户使用数据,像PC上的file system一样

    6. HDFS支持分布式存储,分布式计算以及水平可伸缩性(horizontal scaling)

    vertical scaling有数量限制,升级的时候需要停下所有进程

    horizontal scaling没有机器数量的限制,升级时不需要停下来,scale up时不必须添加相同设备

    7. NameNode: 维系并管理DataNode中的blocks, 类比manager

    8. FsImage: file system namespace(tree structure of file system)

    EditLogs: all the recent modifications

    文件可以添加或者移除,但是不能更新。NameNode会定期检查DataNode是否还存在,若存在每3秒DataNode都会给NameNode发一个消息证明自己还在。若是不存在了,NameNode需要做数据恢复

    9. DataNode类比员工,可以用不是很昂贵的设备节省开销

    功能有存储数据,做读写操作,告诉NameNode是否还存在

    10. If NameNode failed, all the files on HDFS will be lost

    所以需要用remote NFS mount数据备份 —— Secondary NameNode

    11. Secondary NameNode

    take checkpoints of the file system metadata present on NameNode

    功能有copy FsImage与Editlogs;periodically applies Editlogs to FsImage and refreshes the Editlogs;如果NameNode失效了,File System metadata可以将最后一次更新恢复

    12. Block is a sequence of bytes that stores data

    data以一系列block的形式存储在HDFS中,默认的block大小为128MB,文件将被划分为不同的blocks(尽可能充分利用blocks,即划分时尽可能多的block里面是128MB)

    13. HDFS的block size大是因为它存储的dataset更大(为了相对减少block数量,从而减少metadata,对MapReduce的伤害以及查找数据时的速度)

    14. 若NameNode十分钟内没有收到DataNode的消息,则DataNode被默认失联

    15. 通常来讲每个block会被保存三次,均存在不同的DataNode上;若其中一个DataNode消失,数据还可以从其他备份中恢复

    16. simultaneous failure

    17. rack awareness:reduce latency and fault tolerance

    18. write in HDFS: create file -- write file -- close file

    只能同时有一个writer,但是可以同时有多个reader,因为同时存储了好几份,读的时候选择最近的那个。若是读的时候有一个有问题,就报告给NameNode

  • 相关阅读:
    一步一步教你认识闭包
    爬虫入门系列(三):用 requests 构建知乎 API
    爬虫入门系列(二):优雅的HTTP库requests
    爬虫入门系列(一):快速理解HTTP协议
    Python中参数是传值,还是传引用?
    切图及效果图管理
    在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】
    hybrid开发设计
    Gson解析数组多类型元素
    eclipse项目迁移到android studio(图文最新版)
  • 原文地址:https://www.cnblogs.com/eleni/p/13095827.html
Copyright © 2011-2022 走看看