打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
HDFS(未完)
HDFS 架构概述
HDFS(Haadoop Distributed File System)易于扩展的分布式文件系统,运行在大量普通廉价机器上,提供容错机制,为大量用户提供性能不错的文件存取服务。
HDFS的架构图之基础架构
NameNode是一个中心服务器,单一结点(简化系统的设计和实现),负责管理文件系统的名字空间(namespace)以及客户端的文件的访问。
文件操作,namenode 是负责文件元数据的操作,datanode 负责处理文件内容的读写请求,跟文件内容相关的数据流不经过Namenode,只询问他跟那个dataNode联系,否则NameNode会成为系统的瓶颈。
副本存放在那些Datanode上有NameNode 来控制,根据全局情况作出放置决定,读取文件时NameNode尽量让用户先读取最近的副本,降低读取网络开销和读取延时
NameNode全权管理数据库的复制,它周期性的从集群中的每个DataNode接收心跳信号和状态报告,接收到心跳信号意味着DataNode节点工作正常,块状态包含了一个该DataNode上所有的数据列表。
NameNode 与 DataNode 总结概述
NameNode
DataNode
存储元数据
存储文件内容
元数据保存在内存中
文件内容保存在磁盘
保存文件、 block、DataNode之间的映射关系
维护了 block id 到DataNode本地文件的映射关系
HDFS的构架之文件的副本机制以及block 块存储
所有的文件都是以block块的方式存放在HDFS文件系统当中,在hadoop1当中,文件的block块默认大小是64M,hadoop2当中,文件的block块大小默认是128M,block快的大小是可以通过hdfs-site.xml 当中的配置文件进行指定。
<property>
<name>dfs.block.size</name>
<value>块大小 以KB为单位</value>//只写数值就可以
</property>
抽成数据块的好处
1.   一个文件又可以大于集群中任意一个磁盘 10T * 3 / 128 = xxx 块 , 文件方式存
一 ->多个block块,这些block属于一个文件
2.   使用块抽象而不是文件可以简化存储子系统
3.   块非常适合用于数据备份进而提供数据容错能力和可用性。
块缓存
通常DataNode从磁盘中读取块,但对于访问频繁的文件,其对应的块可能被显示的缓存在DataNode的内存中,以堆外块缓存的形式存在。默认情况下,一个块缓存仅在一个DataNode的内存中,当然可以针对每个文件配置DataNode的数量。作业调度器通过在缓存块DataNode上运行任务,可以利用块缓存的优势提高读操作的性能。
例如:
连接(Join)操作中使用的一个小的查询表就是块缓存的一个很好的候选。
用户或应用通过缓存池中增加一个cache directive 来告诉namenode 需要缓存那些文件及存多久。缓存池是一个拥有管理缓存权限和资源使用的管理性分组。
例如一个文件130M,会被切分成2个block块,保存在两个block块里面,实际占用磁盘130M的空间,而不是占用256的磁盘空间。
hdfs 的文件权限验证
hdfs 的文件权限机制与linux系统的文件权限机制类似
r:read  w:write  x:execute 权限x对于文件表示忽略,对于文件夹表示是否有权限访问其内容。
如果linux 系统用户 zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS当中的owner就是zhangsan
HDFS文件权限的目的,防止好人做错事,而不是阻止坏人做坏事。HDFS相信你告诉我你是谁,你就是谁。
来源:https://www.icode9.com/content-4-754201.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
HDFS原理分析(一)
HBase 数据文件在HDFS上的存储
大数据工程师必备 常见Hadoop 面试题及答案解析(问答题)
【Hadoop】HDFS的运行原理
HDFS小文件问题及解决方案
谈谈Hadoop的元数据设计和管理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服