zoukankan      html  css  js  c++  java
  • Hadoop知识汇总

    Hadoop的两大功能:海量数据存储和海量数据分析

    Hadoop2的三大核心组件是:HDFS、MapperReducer和yarn

    1、HDFS:分布式文件系统海量数据存储

    2、MapperReducer:运算框架,海量数据分析

    3、yarn:资源调度管理集群

            HDFS工作机制:基于namenode和datanode

    1、namenode:响应客户端的请求;负责维护整个hdfs文件系统的文件夹树。以及每个路径(文件)所相应的block块信息(block的id,及所在的datanodeserver); 元数据的管理

    2、datanode:存储管理用户的文件数据;定期向namenode汇报自己所持有的block信息(通过心跳机制RPC)

    Namenode安全模式1)、当nameonde发现文件block丢失的数量达到一个配置的门限时。就会进入安全模式,它在这个模式下等待datanode向它汇报block信息;2) 安全模式下。namenode能够提供元数据查询的功能。可是不能改动。

    HDFS读流程:

    1、跟namenode通信查询元数据。找到文件块所在的datanodeserver

    2、挑选一台datanode(就近原则。然后随机)server,请求建立socket

    3datanode開始发送数据(从磁盘里面读取数据放入流。以packet为单位来做校验)

    4、客户端以packet为单位接收,如今本地缓存,然后写入目标文件

    HDFS写流程:

    1、根namenode通信请求上传文件,namenode检查目标文件是否已存在,父文件夹是否存在

    2、namenode返回能否够上传

    3、client请求第一个 block该传输到哪些datanodeserver上

    4、namenode返回3个datanodeserverABC

    5、client请求3台dn中的一台A上传数据(本质上是一个RPC调用。建立pipeline),A收到请求会继续调用B,然后B调用C,将真个pipeline建立完毕。逐级返回客户

    6、client開始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存)。以packet为单位,A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答

    7、当一个block传输完毕之后,client再次请求namenode上传第二个block的server。

  • 相关阅读:
    使用牛顿迭代法和二分法求解一个数的平方根(python语言实现)
    厄拉多塞筛法和普通方法求素数表(python实现)
    使用辗转相除法求两个数的最大公因数(python实现)
    我在博客园第一篇博文
    Linux安装maven
    MyBatis基础入门
    Maven的使用入门
    nginx的简单使用和使用nginx在windows上搭建tomcat集群
    后端程序员如何玩转AJAX
    Servlet3.0文件上传
  • 原文地址:https://www.cnblogs.com/llguanli/p/8732674.html
Copyright © 2011-2022 走看看