新建网站的步骤阿里云搜索引擎入口
news/
2025/9/23 1:04:38/
文章来源:
新建网站的步骤,阿里云搜索引擎入口,海口的网站建设,佛山市骏域网站建设专家目录
前言
一、fsck命令
1、HDFS副本块数量的配置
2、fsck命令查看文件的副本数
3、block配置
二、NameNode元数据
1、edits文件
2、fsigame文件
3、NameNode元数据管理维护
4、元数据合并控制参数
5、SecondaryNameNode的作用
三、HDFS数据的读写流程
1、数据写入…目录
前言
一、fsck命令
1、HDFS副本块数量的配置
2、fsck命令查看文件的副本数
3、block配置
二、NameNode元数据
1、edits文件
2、fsigame文件
3、NameNode元数据管理维护
4、元数据合并控制参数
5、SecondaryNameNode的作用
三、HDFS数据的读写流程
1、数据写入流程
2、数据读取流程 前言
HDFS的存储原理是将大文件切分成固定大小的数据块并在集群中的不同节点上存储数据块的副本以提高数据的可靠性和性能。同时HDFS采用流式的数据读写方式减少了寻址的开销提高了数据的传输效率。设定统一的管理单位block块。Block块HDFS最小存储单位每个256MB可以修改
一、fsck命令
1、HDFS副本块数量的配置
HDFS文件系统的数据安全是依靠多个副本来确保的。
如何设置默认文件上传到HDFS中拥有的副本数量呢可以在hdfs-site.xml中配置如下属性 propertynamedis.replication/namevalue3/value/property
这个属性默认是3一般情况下我们无需主动配置除非需要设置非3的数值
如果需要自定义这个属性请修改每一台服务器的hdfs-site.xml文件并设置此属性。
除了配置文件之外我们还可以在上传文件的时候临时决定被上传文件以多少个副本存储。
hadoop fs -D dfs.replication2 -put test.txt /tmp/ 如上命令就可以在上传test.txt的时候临时设置其副本数为2.
对于已经存在HDFS的文件修改dfs.replication属性不会修改如果要修改已存在文件可以通过命令
hadoop fs -setrep [-R] 2 path
如上命令指定path的内容将会被修改为2个副本存储。-R选项可选使用-R表示对子目录也生效。 2、fsck命令查看文件的副本数
我们可以使用hdfs提供的fsck命令来检查文件的副本数
hdfs fsck path [-files [-blocks [-locations]]]
-files可以列出指定路径是否正常-files -block 输出文件块报告有几个块多少副本-files -block -locations 输出每一个block的详情 3、block配置
可以看到通过fsck命令我们验证了
文件有多个副本文件被分成多个块存储在hdfs
对于块blockhdfs默认设置为256MB一个也就是1GB文件会被划分为4个block存储。
块大小可以通过参数修改 propertynamedfs.blocksize/namevalue268435456/valuedescription设置HDFS块大小单位是b/description/property
如上设置为256MB。
二、NameNode元数据
NameNode基于一批edits和一个fsimage文件的配合完成整个文件系统的管理和维护。
1、edits文件
edits文件是一个流水账文件记录了hdfs中的每一次操作以及本次操作影响的文件其对于的block。edits记录每一次HDFS的操作逐渐变得越来越大所以会存在多个edits文件确保不会有超大edits的存在保证检索性能。 2、fsigame文件
将全部的edits文件合并为最终结果即可得到一个fsimage文件、 3、NameNode元数据管理维护
NameNode基于edits和fsimage的配合完成整个文件系统文件的管理。
每次对HDFS的操作均被edits文件记录edits达到大下上限后开启新的edits记录定期进行edits的合并操作 如当前没有fsimage文件将全部edits合并为第一个fsimage如当前已存在fsimage文件将全部edits和已存在的fsimage进行合并形成新的fsimage。重复123流程 前边配置时已经将namenode的操作记录存放于/data/nn目录中。
4、元数据合并控制参数
对于元数据的合并是一个定时过程基于
dfs.namenode.checkpoint.period默认3600秒 即一小时dfs.namenode.checkpoint.txns默认1000000即100w次事务
只要有一个达到条件就执行。
检查是否达到条件默认60秒检查一次基于
dfs.namenode.checkpoint.check.period默认60秒
5、SecondaryNameNode的作用
对于元数据的合并还记得HDFS集群有一个辅助角色SecondaryNameNode。
SecondaryNameNode会通过http从NameNode拉取数据edits和fsimage然后合并完成后提供给NameNode使用。 三、HDFS数据的读写流程
1、数据写入流程 客户端向NameNode发起请求NameNode审核权限剩余空间后满足条件允许写入并告知客户端写入的DataNode地址客户端向指定的DataNode发送数据包被写入数据的DataNode同时完成数据副本的复制工作将其接收的数据分发给其他DataNode如上图DataNode1复制给DataNode2然后基于DataNode2复制给DataNode3和DataNode4写入完成客户端通知NameNodeNameNode做元数据记录工作
2、数据读取流程 客户端向NameNode申请读取某文件NameNode判断客户端权限等细节后允许读取并返回此文件的block列表客户端拿到block列表后自行寻找DataNode读取即可
总结
1、对于客户端读取HDFS数据的流程中一定要知道不论读还是写NameNode都不经手数据均是客户端和DataNode直接通讯不然对NameNode压力太大。
2、写入和读取的流程简单来说就是
NameNode做授权判断是否能写、是否能读客户端直连DataNode写入、客户端直连DataNode进行block读取写入客户端会被分配找离自己最近的DataNode写数据读取客户端拿到的block列表会是网络距离最近的一份
3、网络距离
最近的距离就是在同一台机器其次就是同一个局域网交换机再其次就是跨越交换机再其次就是跨越数据中心
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910948.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!