hdfs写入文件的时候能读取这个文件么

如题所述

目前HDFS支持的使用接口除了Java的还有,Thrift、C、FUSE、WebDAV、HTTP等。HDFS是以block-sized chunk组织其文件内容的,默认的block大小为64MB,对于不足64MB的文件,其会占用一个block,但实际上不用占用实际硬盘上的64MB,这可以说是HDFS是在文件系统之上架设的一个中间层。之所以将默认的block大小设置为64MB这么大,是因为block-sized对于文件定位很有帮助,同时大文件更使传输的时间远大于文件寻找的时间,这样可以最大化地减少文件定位的时间在整个文件获取总时间中的比例 。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-04

    读读可并发

    读写可并发

    写(append)写不能并发:

HDFS provides Write Once and Read Many feature and support only for exclusive writes. When one client is already writing the file, the other client cannot open the file in write mode. When the client requests the NameNode to open the file for writing, NameNode provides lease to the client for writing to the file.
So, if another client wants to write in the same file it will be rejected by the Namenode.



作者:interma
链接:https://www.zhihu.com/question/28723376/answer/203885908
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

HDFS的读写流程
一、简介HDFS旨在运行在廉价机器上,具备高容错性,适合于大量数据集和批处理任务。其设计特点包括不支持低延迟数据访问、不支持大量小文件存储(每条元数据占用空间固定)、不允许并发写入(一个文件只能由一个写入者操作)以及不支持文件随机修改(仅支持追加写入)。二、HDFS读流程读取HDFS文件的流程如下:...

hdfs的读写流程
1、客户端向NameNode发出写文件请求。检查是否已存在文件、检查权限。若通过检查,直接先将操作写入EditLog,并返回输出流对象。2、client端按128MB的块切分文件。client将NameNode返回的分配的可写的DataNode列表和Data数据一同发送给最近的第一个DataNode节点,此后client端和NameNode分配的多个DataNode构成pip...

hdfs在写数据的过程中datanode死掉怎么办
在写入的时候不会重新重新分配datanode。 如果写入时,一个datanode挂掉,会将已经写入的数据放置到data queue的顶部,并将挂掉的datanode移出pipline,将数据写入到剩余的datanode.在写入结束后, namenode会收集datanode的信息,发现此文件的replication没有达到配置的要求(default=3),然后寻找一个datanode...

HDFS 权限管理
对于文件,读取需要 r 权限,写入\/追加需要 w 权限。对于目录,列出目录内容需要 r 权限,创建、删除文件或目录需要 w 权限,访问目录子项需要 x 权限。 与POSIX模型不同,因为没有可执行文件,所以文件没有 setuid or setgid bits。对于目录,也没有 setuid or setgid bits作为简化。粘滞位 sticky bit 可以被作用...

建议收藏 | 大数据八股文之HDFS篇
HDFS 中文件支持一次写入多次读取,写入操作通过追加方式添加在文件末尾,不支持对文件任意位置的修改。HDFS 的关键组件包括数据块(Block)、NameNode 和 DataNode。数据块作为独立存储单元,大小默认为 128MB,与磁盘数据块相似但更大,有助于提高读写效率。NameNode 负责管理文件系统命名空间和文件元数据,...

hdfs不支持并发写入
是的,HDFS(Hadoop Distributed File System)不支持多个Writers同时写入同一个文件。1. HDFS的文件写入机制:HDFS采用了主从架构,其中NameNode是主服务器,负责管理文件系统的元数据;而DataNode是从服务器,负责实际数据的存储。当客户端想要向HDFS写入文件时,它首先会与NameNode通信,获取写入文件的权限...

HDFS的文件存储过程?
在正式介绍HDFS小文件存储方案之前,我们先介绍一下当前HDFS上文件存取的基本流程。(1) 读文件流程 1)client端发送读文件请求给namenode,如果文件不存在,返回错误信息,否则,将该文件对应的block及其所在datanode位置发送给client 2) client收到文件位置信息后,与不同datanode建立socket连接并行获取数据...

Observer NameNode 的读写一致性保证
对于 "写文件 -> 读文件“ 的场景,有下面几种可能的情况,分别使用不同的机制来保证一致性。自写自读,这是最简单的情况,也是 Observer NN 要解决的最基础的问题。为了解决该问题,HDFS 引入了一个新的的 RPC header 成员:state id,几个要点如下:自写之后他读,这也是比较简单的情况,为解决...

Hadoop读写文件时内部工作机制是怎样的
Hadoop在创建新文件时是如何选择block的位置的呢,综合来说,要考虑以下因素:带宽(包括写带宽和读带宽)和数据安全性。如果我们把三个备份全部放在一个datanode上,虽然可以避免了写带宽的消耗,但几乎没有提供数据冗余带来的安全性,因为如果这个datanode当机,那么这个文件的所有数据就全部丢失了。另一个极端情况是,如果把三...

hdfs 文件一致性实现
HDFS对于同一个文件支持一写多读(write-once-read-many)。为了保持数据一致性,当一个客户端往HDFS某个文件写数据时, 其他客户端不允许同时写入。HDFS引入Lease(租约)机制来实现“独写”控制。1、Lease是client对某些文件是否具有可写权限的凭着,Lease是针对某个client的,一个Lease包含该client所有可...

相似回答