如何保证HDFS中的数据一致性?
来源:互联网 发布:vb select语句 编辑:程序博客网 时间:2024/05/21 09:15
Hadoop中有个重要的工具就是HDFS分布式文件系统,那么在这种分布式环境下的数据一致性是如何保证呢?
HDFS中,存储的文件将会被分成若干的大小一致的block(最后一个block的大小可能较小)分布式地存储在不同的机器上,那么就必须有一个角色来对这些数据进行管理,也就是NameNode节点,而存储这些block的结点我们称为DataNode,NameNode是用来管理这些元数据的。
下面讲一个例子,在客户端上传文件时,NameNode如何保证数据的一直性。
客户端上传文件时,NameNode首先往edits log文件中记录元数据的操作日志。与此同时,NameNode将会在磁盘做一份持久化处理(fsimage文件):他跟内存中的数据是对应的,如何保证和内存中的数据的一致性呢?在edits logs满之前对内存和fsimage的数据做同步(实际上只需要合并edits logs和fsimage上的数据即可,然后edits logs上的数据即可清除)
而当edits logs满之后,文件的上传不能中断,所以将会往一个新的文件edits.new上写数据,而老的edits logs的合并操作将由secondNameNode来完成,即所谓的checkpoint操作。
那么什么时候checkpoint呢?
一般由两种限制,一个是edits logs的大小限制,即fs.checkpoint.size配置,一个是指定时间,即fs.checkpoint.period配置
当然根据规定,大小的限制是优先的,规定edits文件一旦超过阈值,则不管是否达到最大时间间隔,都会强制checkpoint。
- 如何保证HDFS中的数据一致性?
- mysqldump如何保证数据一致性
- kernel如何保证cache数据一致性
- 分布式系统如何保证数据一致性
- 如何保证主从复制数据一致性
- hdfs 数据一致性
- HDFS数据安全性如何保证
- 订单系统、库存系统、优惠券系统如何保证数据一致性
- 同时操作两张表的数据,如何做到保证数据一致性
- 通俗理解ZooKeeper是如何保证数据一致性的
- 跨工程如何保证数据一致性 -乐观锁机制
- 服务化架构下的数据一致性如何保证
- Hadoop HDFS 数据一致性
- hbase,hdfs 数据一致性
- MySQL备份与恢复之保证数据一致性
- MySQL备份与恢复之保证数据一致性
- redis缓存机制 保证数据一致性问题
- KafKa数据存储与数据一致性保证
- [week 7][Leetcode][Dynamic Programming]Triangle
- Android 主流框架大全
- lock
- RE模块
- Tomcat出现 java.net.ConnectException: Connection refused 异常的原因及解决方法
- 如何保证HDFS中的数据一致性?
- android studio layout文件白屏问题
- 关于android studio rename module 那点坑
- 空指针NULL 与 void指针 要分清
- 用空格缩进的程序员赚钱更多吗?
- Spark调优之Tuning Spark(Part 1)
- 如何对innerHTML获得的内容转义
- Unity3d代码获取隐藏物体
- python简单学习:类、类与对象、继承、读取文件