欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

HBase在系统重启后丢失数据

程序员文章站 2022-06-13 21:38:17
...

最近在学习 HBase 的一些东西,发现了一些奇怪的现象,我的 HBase 下的表建好后,重启 linux,再启动 HBase 相关服务后,奇怪的事情发生了。 重启之前我建了一张有数个列族的blogtable表,现在我用list命令查看,发现表还在的。但是当我scan ‘blogtable’的

最近在学习 HBase 的一些东西,发现了一些奇怪的现象,我的 HBase 下的表建好后,重启 linux,再启动 HBase 相关服务后,奇怪的事情发生了。

重启之前我建了一张有数个列族的blogtable表,现在我用list命令查看,发现表还在的。但是当我scan ‘blogtable’的时候发现提示说没有这个表。。。

实际上 hbase 中是有一个 hbase.rootdir 变量的。默认 hbase.rootdir 是指向 /tmp/hbase-${user.name} ,也就说你会在重启后丢失数据(重启的时候操作系统会清理/tmp目录)则数据会丢失。但是我在配置 hbase 的时候明明有配置它,按理说数据不应该丢失。实际上嘛,数据好像也不是完全没有,因为 list 命令还可以看到 blogtable 存在过的痕迹。

综上所述我得出了结论,很可能是 hbase 在写入数据的时候出现问题,而既然能有一部分写入了,很可能是另一部分文件无法写入,换句话说就是权限问题。马上查看了我设置的数据文件夹权限,果然部分不可写入。。。赶紧改了权限,果真是,只要权限设好,便是晴天。