zoukankan      html  css  js  c++  java
  • 大数据笔记(二)——Apache Hadoop的体系结构

    一.分布式存储

    • NameNode(名称节点)

        1.维护HDFS文件系统,是HDFS的主节点。

        2.接收客户端的请求:上传、下载文件、创建目录等。

     

        3.记录客户端操作的日志(edits文件),保存了HDFS最新的状态

          1)Edits文件保存了自最后一次检查点之后所有针对HDFS文件系统的操作,比如:增加文件、重命名文件、删除目录等

          2)保存目录:$HADOOP_HOME/tmp/dfs/name/current

        可以使用 hdfs oev -i 命令将日志(二进制)输出为 XML文件

         hdfs oev -i  edits_inprogress_0000000000000005499  -o ~/temp/log.xml

        4.维护文件元信息,将内存中不常用的文件元信息保存在硬盘上(fsimage文件)

          1)fsimage是HDFS文件系统存于硬盘中的元数据检查点,里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息

          2)保存目录:edits

               3)可以使用 hdfs oev -i 命令将日志(二进制)输出为 XML文件

    • DataNode(数据节点)

        1.以数据块为单位,保存数据

           1)Hadoop1.0的数据块大小:64M

              2)Hadoop2.0的数据库大小:128M

          2.在全分布模式下,至少两个DataNode节点

                    3.数据保存的目录:由 hadoop.tmp.dir 参数指定

    • Secondary NameNode(第二名称节点)

        1.主要作用:合并日志

        2.合并时机:HDFS发出检查点的时候

        3.日志合并过程:

    • HDFS存在的问题

        1)NameNode单点故障问题

           解决方案:Hadoop2.0中,使用Zookeeper实现NameNode的HA功能

        2)NameNode压力过大,且内存受限,影响系统扩展性

         解决方案:Hadoop2.0中,使用NameNode联盟实现水平扩展

    二.YARN:分布式计算(MapReduce)

      

    • ResourceManager(资源管理器)

         1.接收客户端的请求,执行任务

         2.分配资源

         3.分配任务

    • NodeManager(节点管理器:运行任务 MapReduce)

       从 DataNode上获取数据,执行任务

    三.HBase的体系结构

      

  • 相关阅读:
    Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方案
    Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
    接口的作用
    Android中Service(服务)详解
    跟 Task 有关的 Intent对象中设置的Flag
    android onNewIntent
    [Android]如何导入已有的外部数据库
    android的文件操作
    MVC 数据验证
    Html辅助方法 之 Form表单标签
  • 原文地址:https://www.cnblogs.com/lingluo2017/p/8456008.html
Copyright © 2011-2022 走看看