hadoop基础二:HDFS的特点、三个服务、架构

举报
橙子园 发表于 2022/05/26 00:27:48 2022/05/26
【摘要】 你的点赞与评论是我最大的创作动力! 优点: 一、高可靠性:hadoop一般都在成千的计算机集群之上,且可以搭建hadoop的高可靠集群,及内部容错功能优秀。 二、高扩展性:hadoop是在可用的计...

你的点赞与评论是我最大的创作动力!

在这里插入图片描述

优点:

一、高可靠性:hadoop一般都在成千的计算机集群之上,且可以搭建hadoop的高可靠集群,及内部容错功能优秀。
二、高扩展性:hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
三、高效性:hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
四、高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

缺点:

一、不适合低延迟数据访问
二、无法高效存储大量小文件
三、不支持多用户写入及任意修改文件

HDFS三个服务

1.namenode (metadata 元数据)
2.secondary namenode
3.datanode

区分两个概念:

数据:数据内容
元数据:文件名称、大小、所属人 、地址

HDFS架构

NameNode
  • Namenode是一个中心服务器,单一节点(简化系统的设计和实现),负责管理文件系统的名字空间(namespase)以及客户端对文件的访问。
  • 文件操作:NameNode负责文件元数据的操作,DataNode负责处理文件内容的读写请求,跟文件内容相关的数据流不经过NameNode,只会询问它跟那个DataNode联系,否则NameNode会成为系统的瓶颈。
  • 副本存放在那些DataNode上由NameNode来控制,根据全局情况做出块放置决定,读取文件时NameNode尽量让用户先读取最近的副本,降低带块消耗和读取延时。
  • NameNode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告(Blockreport)。接收到心跳信号意味着该Datanode节点工作正常。块状态报告包含了一个该Datanode上所有数据块的列表。
DataNode
  • 一个数据块在DataNode是以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。
  • DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。
  • 心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令,如复制块数据到另一台机器,或者删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。
  • 集群运行中可以安全加入和退出一些机器。

HDFS文件权限

  • 与linux文件权限类似
  • r:read; w:write: x:execute, 权限x对于文件忽略,对于文件夹表示是否允许访问其内容。
  • 如果linux系统用户Bob使用hadoop命令创建一个文件,那么这个文件在HDFS中所有者就是Bob
  • HDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁。

文章来源: blog.csdn.net,作者:橙子园,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Chenftli/article/details/104430947

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。