HDFS:NameNode、DataNode、SecondaryNameNode
来源:互联网 发布:淘宝严重违规12分2999 编辑:程序博客网 时间:2024/04/30 22:33
可以一句话描述 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的副本放置策略:
一个文件有几个副本呢?我们查看 hdfs-default.xml 文件1,第一个副本:放在DataNode,如果是集群外提交,则随即挑选一台磁盘不太满,CPU不太忙的节点;
2,第二个副本:放在第一个副本不同的机架的节点上;
3,第三个副本:与第二个副本相同集群的节点;
4,更多副本:随即节点
- <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 文件
- <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启动时间
- HDFS:NameNode、DataNode、SecondaryNameNode
- HDFS:NameNode、DataNode、SecondaryNameNode
- Hadoop之 NameNode---DataNode---SecondaryNameNode
- hdfs中的NameNode,SecondaryNameNode,BackupNode
- NameNode,SecondaryNameNode与Datanode文件详解
- Hadoop的NameNode与SecondaryNameNode,DataNode
- HDFS的namenode和datanode
- HDFS中的NameNode 和 DataNode
- HDFS中的Namenode和Datanode
- HDFS中的Namenode和Datanode
- HDFS中的NameNode和DataNode
- HDFS namenode 和 datanode功能
- HDFS中的Namenode和Datanode
- HDFS:NameNode概述,DataNode 概述
- hadoop中NameNode、DataNode、SecondaryNameNode、JobTracker 、TaskTracker介绍
- Hadoop学习-错误记录:namenode、datanode、secondarynamenode未启动
- Hdfs(NameNode&DataNode)和Hive迁移总结
- HDFS的关键组件:NameNode/ DataNode
- JDK和SDK有什么区别??
- 手机定位
- 浅谈冒烟测试
- C语言-使用递归函数求正序,逆序,阶乘.
- Linux下启动Tomcat
- HDFS:NameNode、DataNode、SecondaryNameNode
- Linux Thread 最基本用法
- LeetCode-Sum Root to Leaf Numbers
- 再谈冒烟测试
- [题解][LeetCode][Valid Parentheses]
- [leetcode] Unique Paths
- LeetCode: Validate Binary Search Tree
- 解密 【JavaScript Eval】不为人知的秘密
- IOS开发之__bridge,__bridge_transfer和__bridge_retained