zoukankan      html  css  js  c++  java
  • HDFS架构详解-非官档

    Namenode

    1、namenode是一个中心服务器,单一节点(简化系统的设计和实现),负责管理文件系统的命名空间(namespace)以及客户端对文件的访问。

    2、文件操作:namenode负责对元数据的操作,datanode负责处理文件内容的读取请求,跟文件内容相关的数据流读取操作不会经过namenode,只会询问它跟哪个datanode联系,否则namenode会成为系统的瓶颈。

    3、副本存放在哪些datanode上由namenode来控制,根据全局情况做成块放置决定,client读取文件时namenode尽量让用户先读取最近的副本,降低带宽消耗和读取延迟。

    4、Namenode全权管理数据块的复制,它周期性的从集群中的每个datanode接受心跳信号和块的报告(balockreport)。接收心跳信号意味着该datanode节点工作正常,块的报告包含了一个datanode上包含所有块的列表。

    Datanode

    1、一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度、块数据的校验和以及时间戳。

    2、Datanode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。

    3、心跳是每3秒一次,心跳返回结果带有namenode给该datanode命令如复制数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个datanode的心跳,则认为该节点不可用。

    4、集群中可以安全的加入和退出一些机器,而不影响集群整体运作。

    文件

    1、文件切分成块(hadoop 2.x默认大小128m),以块为单位,每个块有多个副本存储在不同的机器上,副本数可在文件生成时指定(默认3)。

    2、Namenode是主节点,存储文件的元数据如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表以及块所在的datanode等等。

    3、Datanode在本地文件系统存储文件块数据,以及块数据的校验和。

    4、可以创建、删除、移动或重命名文件,当文件创建、写入和关闭之后不能修改文件内容。

    数据损坏(corruption)处理

    1、当datanode读取block的时候,它会计算checksum

    2、如果计算后的chencksum与block创建时的值不一样,说明该block已经损坏。

    3、Client读取其他datanode上的block。

    4、Namenode标记该块已经损坏,然后复制block达到预期设置的文件备份数。

    5、Datanode在其文件创建后三周验证其checksum

    HDFS Shell命令

    1、调用文件系统(FS)Shell命令使用bin/hdfs dfs的形式

    2、所有的FS Shell命令使用URI路径作为参数

    3、URI格式是shemale://authority/path.HDFS的schema是hdfs,对于本地文件系统schema是file,其中schema和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认schema

    4、例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child

    5、大多数FS Shell命令行为和对应的Linux Shell命令相似

  • 相关阅读:
    问题:C# params类型参数;结果:C#的参数类型:params、out和ref
    问题:ExecuteNonQuery 与 ExecuteScalar 结果: ExecuteNonQuery方法和ExecuteScalar方法的区别
    问题:MSChart.exe;结果:微软图表控件MsChart使用方法及各种插件下载地址
    问题:部署到iis上后Chart图片不显示;结果:使用webchart过程中遇到的一些问题
    问题:C#发布的项目浏览时出现“Server Application Unavailable”错误;结果:Server Application Unavailable出现的原因及解决方案小结
    问题:oracle nvl;结果:Oracle中的NVL函数
    cookie的路径和域
    Spring MVC静态资源处理
    java.lang.ClassNotFoundException的解决方法
    ThreadLocal管理登录信息
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/6732649.html
Copyright © 2011-2022 走看看