hdfs java api 读写文件操作_HDFS教程:使用Java API读写命令

Hadoop附带一个名为 HDFS(HADOOP分布式文件系统)的分布式文件系统,基于HADOOP的应用程序利用HDFS。HDFS设计用于存储在商用硬件集群上运行的非常大的数据文件。它具有容错性,可扩展性,并且扩展极其简单。

当数据超过单个物理机器上的存储容量时,必须将其划分为多台独立的计算机。管理跨机器网络的存储特定操作的文件系统称为 分布式文件系统。

读操作

写操作

使用JAVA API访问HDFS

使用命令行接口访问HDFS

HDFS集群主要由 管理文件系统 元数据的 NameNode 和 存储 实际数据的 DataNode组成。

NameNode: NameNode可以视为系统的主节点。它维护文件系统树以及系统中存在的所有文件和目录的元数据。两个文件的 “命名空间图像” 和 “编辑日志” 用于存储元数据信息。Namenode了解包含给定文件的数据块的所有数据节点,但是它不会持久存储块位置。系统启动时,每次从数据节点重建此信息。

DataNode: DataNode是驻留在集群中每台计算机上的从属服务器,提供实际存储。它负责为客户提供服务,读写请求。

HDFS中的读/写操作在块级操作。HDFS中的数据文件被分成块大小的块,这些块作为独立单元存储。默认块大小为64 MB。

HDFS基于数据复制的概念运行,其中创建数据块的多个副本并将其分布在整个集群中的节点上,以在节点发生故障时实现数据的高可用性。

HDFS中的文件小于单个块,不会占用块的完整存储空间。

在HDFS中读取操作

数据读取请求由HDFS,NameNode和DataNode提供。让我们称读者为“客户”。下图描绘了Hadoop中的文件读取操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值