`
coderplay
  • 浏览: 577958 次
  • 性别: Icon_minigender_1
  • 来自: 广州杭州
社区版块
存档分类
最新评论

HDFS的追加/刷新/读设计

阅读更多

hdfs将在0.21版(尚未发布),把DFSOutputStream中的fsync操作(实际上是sync方法)更名为hflush, 因为之前的fsync做的工作实际上不是同步数据到磁盘,而是刷新(flush)缓存。fsync功能可能会在以后的版本中添加。

 

DFS对于未关闭文件的数据提供最大努力持久:
1. NameNode持久化文件元数据信息,但不持久化文件由哪些块组成的信息。重启NameNode可能会导致数据丢失。
2. DFS不保证各数据块的副本数和文件的复制因子一致。如果一个数据块没有一个有效副本被写入,则写失败。

 

DFS对于已关闭文件的数据提供强持久:
1. NameNode持久化文件和数据块元数据信息。重启NameNode不会导致数据丢失。
2. DFS保证各数据块的副本数和文件的复制因子一致。
3. 文件关闭不保证数据已经到达磁盘。如果数据未到达磁盘,重启DataNode会导致数据丢失。

对于未关闭文件的数据,只有已完成块的数据对readers是可见的。正在写的块中的数据,对reader来说是不可见的。

分享到:
评论
1 楼 david.org 2010-03-05  
> 1. NameNode持久化文件元数据信息,但不持久化文件由哪些块组成的信息。重启NameNode可能会导致数据丢失。

以后hadoop这点有改进吗, 如果一个文件在写入时, 客户端当了, 此时在Lease时间之内, Namenode重启后, 该文件的所有数据全部会丢掉, 肯定啊. 很无奈

相关推荐

    hbase 启动regionserver日志报错: Wrong FS: hdfs:// .regioninfo, expected: file:///

    NULL 博文链接:https://bnmnba.iteye.com/blog/2322332

    hdfs c/c++ API头文件

    hdfs c/c++ API, libhdfs库中提供的接口函数声明; 如:hdfsBuilderSetNameNode,hdfsConnect,hdfsOpenFile等

    Hadoop原理与技术hdfs命令行基本操作

    (6)移动hdfs文件:hdfs dfs -mv /hdfs路径 /hdfs路径 (7)复制hdfs文件:hdfs dfs -cp /hdfs路径 /hdfs路径 (8)删除hdfs文件:hdfs dfs -rm /文件名 (9)删除hdfs文件夹:hdfs dfs -rm -r /文件夹名

    Hadoop/HDFS/MapReduce/HBase

    对Hadoop中的HDFS、MapReduce、Hbase系列知识的介绍。如果想初略了解Hadoop 可下载观看

    HDFS.zip_Hadoop 平台_hadoop_hdfs

    总结,Hadoop平台上的HDFS为大数据存储提供了强大的支持,通过灵活的文件操作和高可用性设计,保证了数据的安全和高效访问。无论是通过命令行工具还是编程接口,用户都能方便地与HDFS进行交互,实现大规模数据的管理...

    Hadoop fs命令详解.docx

    例如,hadoop fs -cp /hdfs/path/to/file /hdfs/path/to/destination 11. createSnapshot:创建快照 CreateSnapshot命令用于创建快照。例如,hadoop fs -createSnapshot /hdfs/path/to/directory 12. ...

    HDFS总结.xmind

    HDFS知识点总结(思维导图)XMIND文件

    Flume采集数据到Kafka,然后从kafka取数据存储到HDFS的方法思路和完整步骤

    ### Flume采集数据到Kafka,然后从Kafka取数据存储到HDFS的方法思路和完整步骤 #### 一、概述 随着大数据技术的发展,高效的数据采集、处理与存储变得尤为重要。本文将详细介绍如何利用Flume采集日志数据,并将其...

    利用javaAPI访问HDFS的文件

    HDFS被设计成适合运行在商用硬件上,因此,容错性是HDFS架构的一个关键特性。 #### 二、配置文件core-site.xml的重要性 为了能够成功地使用Java API与HDFS进行交互,首先需要正确配置`core-site.xml`文件。该文件...

    hadoop市实战练习

    本文介绍了hadoop实战项目的背景,技术选型,开发详细讲解

    实验二:熟悉常用的HDFS操作.docx.zip

    HDFS是Apache Hadoop项目的核心部分,它设计为可扩展、容错性强的分布式文件系统,尤其适合处理和存储大量数据。本实验旨在帮助用户熟悉HDFS的基本操作,以便于在实际环境中有效地使用HDFS。 【描述】:“实验二:...

    win安装部署hadoop3.0.0并启动上传文件到HDFS(博文相关代码)

    - 下载文件:`hadoop fs -get hdfs://localhost:9000/path/to/hdfs/file localfile` - 创建目录:`hadoop fs -mkdir hdfs://localhost:9000/path/to/new/dir` 6. **MapReduce的WordCount示例**: - 在Hadoop的`...

    HDFS命令指南相关学习

    `hdfs dfs -appendToFile`用于将本地文件或标准输入追加到HDFS上的文件末尾。例如,可以使用以下命令将一个或多个本地文件追加到HDFS文件中: - `hdfs dfs -appendToFile localfile /user/hadoop/hadoopfile` - `...

    5、HDFS API的RESTful风格-WebHDFS

    而在RESTful API中,HTTP URL的格式则为`http://<HTTP_PORT>/webhdfs/v1/?op=...`,这里的`op`参数指定了要执行的操作,如`LISTSTATUS`用于列出目录内容,`OPEN`用于读取文件。 【HTTP RESTful API参数】 WebHDFS...

    hdfs.zip_hdfs_hdfs java

    在这个例子中,`namenode-host`和`port`需要替换为实际的HDFS NameNode主机和端口,`path/to/local/file`是本地文件的路径,而`/hdfs/path/to/destination`是HDFS上的目标路径。 **2. 从HDFS下载文件** 下载HDFS上...

    HDFS实例基本操作

    Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,它为大数据处理提供了可靠的、可扩展的分布式存储解决方案。在这个“HDFS实例基本操作”中,我们将深入探讨如何在已经安装好的HDFS环境中执行基本...

    HDFS FS API

    fs.copyToLocalFile(new Path("/hdfs/path/to/file"), new Path("/local/path/to/file")); ``` 3. 从本地上传到HDFS: 要将本地文件上传到HDFS,可以使用`FileSystem`的`copyFromLocalFile`方法。同样,也有多个...

Global site tag (gtag.js) - Google Analytics