zoukankan      html  css  js  c++  java
  • hadoop初解

    轻松了一个月,被老师拉来搞hadoop和hbase,而且时间紧,任务重。每天要上交大于100字的学习日记。

    先草草看了下hadoop权威指南,记录下。

    Hadoop提供了一个可靠的共享存储和分析系统,HDFS实现存储,而MapReduce实现分析处理。这两个是核心。

    HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随即读取)。

    MapReduce作业(job)是客户端需要执行的一个工作单元:它包括输入数据、MapReduce程序和配置信息。Hadoop将作业分成若干个小任务(task)来执行,其中包括两类任务:map任务和reduce任务。

    有两类节点控制着作业执行过程:一个jobtracker及一系列tasktracker。jobtracker通过调度tasktracker上运行的任务,来协调所有运行在系统上的作业。tasktracker在运行任务的同时将运行进度报告发送给jobtracker,jobtracker由此记录每项作业任务的整体进度情况。如果其中一个任务失败,jobtracker可以在另外一个tasktracker节点上重新调度该任务。

    Hadoop将MapReduce的输入数据划分成等长的小数据块,称为输入分片。Hadoop为每个分片构建一个map任务,并由该任务来运行用户定义的map函数从而处理分片中的每条记录。

    Hadoop在存储有输入数据(HDFS中的数据)的节点运行map任务,可以获得最佳性能。这就使所谓的数据本地化优化。

    map任务将其输入写入本地硬盘,而非HDFS。因为map的输出是中间结果:该中间结果由reduce任务处理后才产生最终输出结果。

    HDFS块大小默认为64MB。

    HDFS集群有两类节点,并以管理者-工作者模式运行,即一个namenode和多个datanode。namenode管理文件系统的命名空间。它维护者文件系统树及整棵树内所有的文件和目录。这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件。namenode也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息会在系统启动时由数据节点重建。

  • 相关阅读:
    关于Flutter引用image_picker插件报错
    关于Flutter页面布局
    关于Flutter和Android混合开发引入flutter_boost插件-有更新,见底部
    关于uni-app的scroll-into-view
    关于全站http切换到https
    关于canvas画原子运动模型
    [BS-00] const限定常量或者变量(初次赋值后),其值不允许被改变
    认识C和内存管理
    C语言的内存管理
    堆heap和栈Stack(百科)
  • 原文地址:https://www.cnblogs.com/zxpgo/p/2767126.html
Copyright © 2011-2022 走看看