HDFS:NameNode、DataNode、SecondaryNameNode
2014-07-31 12:50
633 查看
可以一句话描述 HDFS:把客户端的大文件存放在很多节点的数据块中。
HDFS设计原则:
1,文件以块(block)方式存储;2,通过副本机制提高可靠度和读取吞吐量;
3,每个区块至少分到三台DataNode上;
4,单一NameNode来协调存储元数据;
5,客户端对文件没有缓存机制(No data caching);
NameNode:HDFS命名服务器
是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求;文件包括:
1,fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
2,edits:操作日志文件。
3,fstime:保存最近一次checkpoint的时间
以上这些文件是保存在linux的文件系统中。
DataNode:HDFS数据节点,提供真实文件数据的存储服务。
1,保存block,文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是64MB,以一个256MB文件,共有256/64=4个Block.2,不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间;
3,Replication。多复本。默认是三个
4,启动DataNode线程的时候会向NameNode回报block信息;
5,通过向NameNode发送心跳报纸与其联系(3s/次),如果NameNode10min没有收到DataNode的心跳,则认为其已经lost,并copy其上的block到其他DataNode;
Block的副本放置策略:
1,第一个副本:放在DataNode,如果是集群外提交,则随即挑选一台磁盘不太满,CPU不太忙的节点;
2,第二个副本:放在第一个副本不同的机架的节点上;
3,第三个副本:与第二个副本相同集群的节点;
4,更多副本:随即节点
一个文件有几个副本呢?我们查看 hdfs-default.xml 文件
[html] view
plaincopyprint?
<property>
<name>dfs.replication</name>
<value>3</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
block 存放在 linux 文件系统中的位置,我们查看 hdfs-default.xml 文件
[html] view
plaincopyprint?
<property>
<name>dfs.data.dir</name>
<value>${hadoop.tmp.dir}/dfs/data</value>
<description>Determines where on the local filesystem an DFS data node
should store its blocks. If this is a comma-delimited
list of directories, then data will be stored in all named
directories, typically on different devices.
Directories that do not exist are ignored.
</description>
</property>
SecondaryNameNode:NameNode的镜像备份节点,hadoop的一个解决方案。但不支持热备。配置即可。只有一个职责,就是合并
NameNode 中的 edits 到 fsimage 中。
1,执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,同时重置NameNode的edits.2,默认在安装在NameNode节点上,它的工作是帮助NameNode合并edits log,减少NameNode启动时间
相关文章推荐
- 【Hadoop】HDFS三组件:NameNode、SecondaryNameNode和DataNode
- HDFS:NameNode、DataNode、SecondaryNameNode
- HDFS:NameNode、DataNode、SecondaryNameNode
- 在HDFS集群中优化secondary namenode到datanode1节点上,并做重启hdfs集群后,datanode1启动失败
- Hadoop学习-错误记录:namenode、datanode、secondarynamenode未启动
- hdfs中的NameNode,SecondaryNameNode,BackupNode
- 多次进行hdfs namenode -format命令时,启动DataNode自动死亡的原因
- hadoop中NameNode、DataNode、Secondary、NameNode、JobTracker TaskTracker介绍
- Hadoop之 NameNode---DataNode---SecondaryNameNode
- Hadoop之 NameNode---DataNode---SecondaryNameNode
- Hadoop之 NameNode---DataNode---SecondaryNameNode
- Hadoop之 NameNode---DataNode---SecondaryNameNode
- Hadoop之HDFS架构(NameNode和DataNode)
- hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)
- HDFS namenode 和 datanode功能
- hadoop中NameNode、DataNode、Secondary、NameNode、JobTra
- Hadoop之 NameNode---DataNode---SecondaryNameNode
- Hadoop之 NameNode---DataNode---SecondaryNameNode
- HDFS中的NameNode 和 DataNode
- Hadoop原理---HDFS中的NameNode和DataNode