ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HDFS(first)

2022-01-04 22:01:47  阅读:132  来源: 互联网

标签:HDFS 存储 文件 datanode namenode 数据 first


基础知识

HDFS 被设计成用来使用低廉的服务器来进行海量数据的存储,那是怎么做到的呢?

  1. 大文件被切割成小文件,使用分而治之的思想让很多服务器对同一个文件进行联合管理

  2. 每个小文件做冗余备份,并且分散存到不同的服务器,做到高可靠不丢失

类似于之前博客中写到的磁盘阵列
image

适合场景: 大文件多读取,且不支持对应数据的随意修改,也就是说适合海量数据PB级别的数据的存储,不支持时效较高的数据处理,说白了HDFS一般用于阿里,腾讯,美团等公司里面数据处理,由于数据量比较爆炸,使用简单数据库不会太友好,且数据库价格贵,磁盘价格低,同时可以多备份。HDFS也就是直接操作文件的一种技术,存储,可以简单这样理解,同时不适合存储较小的文件数据,里面有个block的概念,由于在前面说了,不支持数据的修改,只支持append,这样就造成如果存储数据较小的数据也占用一个block,且每个block直接不支持并发写,这样会导致效率奇低,所以一般数据大小尽量满足稍稍小于block大小即可(tips:一般块的大小一般在128M)
同时可以设置

<dfs-blocksize>${1024*1024*128}</dfs-blocksize>

${10241024128} 表示128M,可以随便写,
default: 在单机模式下为32M,集群下为128M

打开hadoop官网就会看见这样一张图:

image

其中nameNode 就是类似于master,存储datanode的文件地址,等处理client的信息。举个简单的例子,namenode就是部门主管,datanode就是我们这些搬砖的,namenode处理外部需求,datanode实际存储数据,处理数据(但是HDFS没有处理),可以简单将这个mapreduce,spark,flink这些类比起来

大概知识就这点,但是需要继续code,HDFS是一个codeing的东西,不是说说,这些去忽悠面试官的。
namenode:管理整个文件系统的元数据
namenode工作职责:管理元数据、维护目录结构、响应客户端请求
datanode:复制管理用户的文件数据块
datanode的工作职责:管理用户提交的数据 心跳机制 块报告
secondarynamenode:namenode的助理,帮助加载元数据,紧急情况下(例如namenode宕机),可以帮助恢复数据

这个图感觉很酷,能够说明整个数据流向:
image

这整个过程比较抽象,比大学老师讲课都抽象。说实话,看完这个图,等于啥都不会,不过不重要,大概看一下就ok

coding

由于太菜不会~~~~~,学学~~~~~~

标签:HDFS,存储,文件,datanode,namenode,数据,first
来源: https://www.cnblogs.com/whr-blogs/p/HDFS_first.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有