1. Hadoop :处理大数据的开源框架 including:
    • MapReduce: 处理大数据的program
    • HDFS: 文件系统
  1. MapReduce: split, map, shuffle, reduce

  2. HDFS: 数据被分成多个block, 分布存储在cluser里的多个node, 每一个block默认repicated 3 times

    • HDFS block:HDFS上的文件被划分为块大小的多个分块,作为独立的存储单元,称为数据块,默认大小是64MB/128MB。
    • HDFS的三个节点:Namenode,Datanode,Secondary Namenode
      • Namenode:HDFS的守护进程,用来管理文件系统的命名空间,负责记录文件是如何分割成数据块,以及这些数据块分别被存储到那些数据节点上,它的主要功能是对内存及IO进行集中管理。
      • Datanode:文件系统的工作节点,根据需要存储和检索数据块,并且定期向namenode发送他们所存储的块的列表。
      • Secondary Namenode:辅助后台程序,与NameNode进行通信,以便定期保存HDFS元数据的快照。
    • HDFS resides on top of a native file system(Linux)
    • HDFS不适合用在:要求低时间延迟数据访问的应用,存储大量的小文件,多用户写入,任意修改文件。
    • HDFS shell commands
      • hadoop fs -get /user/hadoop/file
      • hadoop fs -put localfile /user/hadoop/hadoopfile
      • copyFromLocal
      • copyToLocal
  3. How map-reduce tasks running on data nodes?

    • hadoop send the programme(map-reduce) to data
  4. Yarn (Hadoop 2代架构)

    • 在 Hadoop MapReduce (Hadoop 1代架构) 中,JobTracker 具有两种不同的职责:

      • 管理集群中的计算资源,这涉及到维护活动节点列表、可用和占用的 map 和 reduce slots 列表,以及依据所选的调度策略将可用 slots 分配给合适的作业和任务
      • 协调在集群上运行的所有任务,这涉及到指导 TaskTracker 启动 map 和 reduce 任务,监视任务的执行,重新启动失败的任务,推测性地运行缓慢的任务,计算作业计数器值的总和,等等
      • Yarn/MRv2最基本的想法是将原JobTracker的双重职责(集群资源管理和任务协调)分开为两种不同类型的进程来反映。
    • Yarn/MRv2

      • ResourceManager 代替集群管理器,任何client或者运行着的applicatitonMaster想要运行job或者task都得向RM申请一定的资源
      • ApplicationMaster 代替一个专用且短暂的 JobTracker
      • NodeManager 代替 TaskTracker
      • 一个分布式应用程序代替一个 MapReduce 作业。
  5. Programme for Hadoop could by

    • Hive: table mapping? hive query is mapreduce jobs?
      • 处理大数据,但是非实时(batch only)
      • 不支持update
    • Pig:
      • 并发的做一些简单结构的数据分析
      • ETL ?
    • Scalding
      • 大数据的并发计算
      • 可以访问各种类型数据库
  6. Hadoop Ecosystem including:

    • Apache TEZ: 执行引擎
    • Hcatalog
    • Mahout: machine learing
    • Sqoop:关系型数据库
    • Flume
    • ZoomKeeper
    • Hbase
      • Built on top of HDFS
      • Size>PB
      • Data model is simple
      • Random 读写
      • High speed required
      • 不支持Join
      • 比Hive要慢
    • Spark: 执行引擎
      • 比MR快
      • In Memory Data
    • Flink: 执行引擎
  7. NoSQL 数据库分类

    • key/value
      • simple data model, json
      • session data
      • shopping cart
      • user profiles
    • column family
      • high insert volume,logging
      • real-time updates
    • document
      • json, bson, xml
      • semi-structured data
      • logging
      • product/customer info
      • web analytics
    • graph
      • complex graph data:social networks
      • highly interconnected data
  8. Streaming data 处理系统

    • storm
    • spark&flink
  9. Big Data WorkFlow

  10. Ployglot


Reference

https://www.cnblogs.com/caiyisen/p/7395843.html https://www.ibm.com/developerworks/cn/data/library/bd-yarn-intro/ https://www.cnblogs.com/cxzdy/p/4943159.html