ApacheHadoop3.2.0HDFS体系结构

HDFS体系结构
Hadoop分布式文件系统(HDFS)是一种用于在普通硬件上运行的分布式文件系统。它与现有的分布式文件系统有许多相似之处。然而,与其他分布式文件系统的差异是显著的。HDFS是高度容错的,并被设计为部署在低成本的硬件上.HDFS提供了对应用程序数据的高吞吐量访问,适用于具有大数据集的应用程序。
硬件故障
硬件故障是常态,而不是例外。HDFS实例可能由数百台或数千台服务器机器组成,每台机器都存储文件系统数据的一部分。事实上,有大量的组件,并且每个组件有一个不小的失败概率,这意味着HDFS的某些组件总是不起作用的。因此,故障检测和快速、自动恢复是HDFS的核心架构目标。
流数据访问
HDFS更适合批量处理,而不是用户交互使用。重点是高吞吐量的数据访问,而不是低延迟的数据访问。
移动计算比移动数据便宜
应用程序请求的计算如果在其操作的数据附近执行,则效率要高得多。当数据集的大小很大时,尤其如此。这减少了网络拥塞,提高了系统的整体吞吐量。假设通常更好地将计算迁移到数据所在的位置,而不是将数据移动到应用程序运行的位置。HDFS为应用程序提供接口,使其更接近数据的位置。
跨异构硬件和软件平台的可移植性
HDFS被设计成可以方便地从一个平台移植到另一个平台。这有助于广泛采用HDFS作为大量应用程序的首选平台。
HDFS架构
HDFS具有主从架构。HDFS集群由单个NameNode组成,这是一个主服务器,用于管理文件系统命名空间并调节客户端对文件的访问。此外,还有许多DataNodes,通常是集群中的每个节点,它们管理连接到运行它们的节点的存储。HDFS公开文件系统命名空间,并允许将用户数据存储在文件中。在内部,一个文件被分割成一个或多个块,这些块存储在一组DataNodes中。NameNode执行文件系统命名空间操作,比如打开、关闭和重命名文件和目录。它还确定块到DataNodes的映射。DataNodes负责服务来自文件系统客户端的读写请求。DataNodes还对NameNode的指令执行块创建、删除和复制。
在这里插入图片描述
NameNode和DataNode是为在商品机器上运行而设计的软件。这些机器通常运行GNU/Linux操作系统(OS)。HDFS是使用Java语言构建的;任何支持Java的机器都可以运行NameNode或DataNode软件。使用高度可移植的Java语言意味着HDFS可以部署在广泛的机器上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值