首頁  >  文章  >  資料庫  >  HBase在系统重启后丢失数据

HBase在系统重启后丢失数据

WBOY
WBOY原創
2016-06-07 15:28:531092瀏覽

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

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

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

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn