[关闭]
@awsekfozc 2016-01-08T19:08:07.000000Z 字数 1988 阅读 1439

hadoop之HDFS

Hadoop

HDFS设计目标


1.namenode

nmanode简述

  1. 负责元数据的操作(镜像,编辑文件Edits)。副本的存储情况,位置,datanode的情况存储再元数据中。
  2. 单一节点。不处理数据读写的请求。只查询与那些datanode有联系
  3. 读取namenode节点时,namenode会尽量让用户读取最近的副本,以降低资源消耗
  4. 管理数据块的复制。周期性的接受各个datanode发送的心跳报告和块状态报告。块状报告包含datanode上数据详细情况列表

namenode启动过程

1.加载fsimage和edits文件。执行日志中的各项操作
2. 内存中建立系统的元数据映射,生成新的fsimage和一个空的edits文件
3.在安全模式下datanode向namenode注册。以及发送最新的Block Report
4.安全模式运行的namenode,对客户端来说是只读的。
5.在系统操作期间,namenode会在内存中保留所有块的映射信息。
6.namenode获取所有的datanode后,安全模式等待30。是HDFS系统处于平稳的状态

  1. <!--hdfs-site.xml,WEB配置-->
  2. <property>
  3. <name>dfs.namenode.http-address</name>
  4. <value>hadoop.zc.com:50070</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/tmp/hadoop-${user.name}</value>
  9. </property>
  10. <!-- hdfs-site.xml -->
  11. <!-- hdfs本地数据存储位置datanode -->
  12. <property>
  13. <name>dfs.datanode.data.dir</name>
  14. <value>file://${hadoop.tmp.dir}/dfs/data</value>
  15. </property>
  16. <!-- hdfs-site.xml -->
  17. <!-- hdfs本地元数据位置(镜像文件)namenode -->
  18. <property>
  19. <name>dfs.namenode.name.dir</name>
  20. <value>file://${hadoop.tmp.dir}/dfs/name</value>
  21. </property>
  22. <!-- hdfs-site.xml -->
  23. <!-- 编辑日志edits位置 -->
  24. <property>
  25. <name>dfs.namenode.edits.dir</name>
  26. <value>${dfs.namenode.name.dir}</value>
  27. </property>

2.datanode

  1. 块状形式存储数据(默认128M),块的内容包括,数据本身和块的元数据(数据大小,数据校验,时间戳等信息)
  2. 负责处理文件内容的读写请求
  3. datanode启动后向namenode注册。通过后周期性(默认1小时)的向namenode上报datanode上所有块的信息
  4. datanode周期性(默认3秒)向namenode发送心跳,namenode返回结果带有给datanode执行的命令(如复制数据到其他datanode)。一段时间内(默认10分钟)namenode未收到datanode的心跳报告,namenode认为该datanode节点不可用。
  5. 集群可以安全的加入和移除datanode
  6. 副本策略。默认副本数(3)。第一个副本放在本地机架上。第二个副本再本地机架的另外的datanode上。第三个副本放在其他机架上。
  1. <!--hdfs-site.xml,datanode默认心跳发送周期配置-->
  2. <property>
  3. <name>dfs.heartbeat.interval</name>
  4. <value>3</value>
  5. </property>
  6. <!--hdfs-site.xml,datanode块大小设置(单位B)-->
  7. <property>
  8. <name>dfs.blocksize</name>
  9. <value>134217728</value>
  10. </property>
  11. <!--hdfs-site.xml,默认副本数-->
  12. <property>
  13. <name>dfs.replication</name>
  14. <value>1</value>
  15. </property>

3.SecondaryNameNode

  1. <!--hdfs-site.xml-->
  2. <property>
  3. <name>dfs.namenode.secondary.http-address</name>
  4. <value>hadoop.zc.com:50090</value>
  5. </property>

sender.png-31.2kB

在此输入正文

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注