HDFS允许单写作者多读者模型。在这个模型中 - 它能否面对数据读取与作者写作内容不一致的情况?在执行明确的h-flush操作之前,HDFS不保证数据的可见性,但如果读取器读取的数据被写入器更改,会怎么样?它不会是数据不一致性问题吗?HDFS单写入器多读取器模型 - 读取不一致?
0
A
回答
0
在HDFS中,读者读取的数据将被写入者更改的场景根本不会发生。
正如你所看到的,HDFS支持write once
模型,它不允许修改任何写入的数据。
因此,一旦调用了FSDataOutputStream.hsync()
,数据将被写入磁盘,客户端可以读取数据,编写者将无法修改刷新的数据。
修改内容的唯一方法是使用所需更改复制相同的数据。
编辑: -
设计事实HDFS,让我们尽快块被刷新出局阅读正在被复制的文件的最近写入的块,大多用于跟踪进度完成文件写入操作,避免文件关闭失败并且还支持命令hadoop fs -tail
。
请参考,
https://issues.apache.org/jira/browse/HADOOP-89
HDFS既保证了Eventual consistency
该文件的块将横跨客户端关闭文件的写操作后,才分布式系统是一致的。
- 礼貌@ sunrise76
相关问题
- 1. Hadoop写入/读取int []从/到HDFS
- 2. HDFS缓冲写入/读取操作
- 3. 为什么HDFS只写入一次并多次读取?
- 4. 多次读取一个阅读器
- 5. Hadoop JUnit测试从hdfs写入/读取hdfs
- 6. 使用mmap读取/写入寄存器
- 7. Sparkr读写HDFS
- 8. Redis读取/写入
- 9. 共享资源最快的多路读取器/单写入器保护 - C++
- 10. 春季批量单线程读取器和多线程写入器
- 11. 抓住FastInfoset读取器和编写器
- 12. Twitter API:单独读取和读取/写入令牌
- 13. 从HDFS读取简单的Avro文件
- 14. ReadWriteLocks-(不可重入)它如何支持多读取器获取读锁
- 15. 如何在java中使用缓冲读取器和缓冲写入器读取和写入文件
- 16. iPhone模拟器 - 写入文件/读取问题
- 17. 如何获取有多少元素数据读取器读取?
- 18. 多线程读取和写入服务器在c + +
- 19. 从HDFS读写HBASE
- 20. HDFS读写操作
- 21. 读取或写入多进程csv
- 22. 异步读取/写入多个文件
- 23. 隔离读取和写入多线程
- 24. Java多线程写入和读取
- 25. 多线程:读取/写入管道
- 26. Python:读取和写入多个文件
- 27. C++太多写入/读取大小4
- 28. 如何使用Ruby在Hadoop HDFS中写入/读取文件?
- 29. Bufferreader和Bufferwriter用于读取和写入文件HDFS
- 30. Cloudera Hadoop:在HDFS中读取/写入文件
有道理。一种情况是:Writer将写入512KB,但他刷新读取器读取的256KB数据。最终编写者将写入512KB,但由于读者只读取了256KB的新数据 - 在这种情况下它不会影响读取一致性吗?还是我们在这里遵循最终的一致性模型? – yguw
它遵循最终的一致性 –
@yguw,我编辑了答案。请检查它是否有帮助。 – sureshsiva