如果regionserver崩溃并且数据尚未写入datanode,会发生什么情况?我要把数据丢了吗?如果某些区域服务器死机,是否会影响数据一致性?
sf6xfgos1#
如果在写入数据时启用了预写日志(可以禁用它以进行快速插入),则不会丢失数据。当客户端发出put请求时,hbase将数据写入预写日志。wal用于在服务器崩溃时恢复尚未持久化的数据。所有的写操作和读操作都是从主节点进行的。hdfs复制wal和hfile块。hfile块复制自动进行。hbase在存储文件时依赖hdfs来提供数据安全。在hdfs中写入数据时,一个拷贝在本地写入,然后将其复制到辅助节点,第三个拷贝写入第三节点。
1条答案
按热度按时间sf6xfgos1#
如果在写入数据时启用了预写日志(可以禁用它以进行快速插入),则不会丢失数据。当客户端发出put请求时,hbase将数据写入预写日志。wal用于在服务器崩溃时恢复尚未持久化的数据。所有的写操作和读操作都是从主节点进行的。hdfs复制wal和hfile块。hfile块复制自动进行。hbase在存储文件时依赖hdfs来提供数据安全。在hdfs中写入数据时,一个拷贝在本地写入,然后将其复制到辅助节点,第三个拷贝写入第三节点。