HBase Shell是否记录输入的每个命令?

时间:2015-06-17 19:47:04

标签: hbase

我们删除了一个HBase表,我想确定这是怎么发生的。 HBase shell是否记录发出的每个命令并将其存储到磁盘?

在$ HBASE_HOME / logs /中,我看到如下文件:

hbase-<my_user>-shell-<hostname>.log.<dt>

但是,所有这些文件的内容只是对以下警告的重复:

INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available

1 个答案:

答案 0 :(得分:1)

不幸的是,HBase Shell不提供开箱即用的任何形式的日志记录。您可以做一些工作并尝试关联时间,但这可能是一个长镜头,取决于有多少人可以访问以及有多少位置可以访问shell。要删除表,首先必须禁用它,因此如果查看HBase Master日志,您应该同时看到disable和drop。这将至少为您提供一个时间范围,您可以将其与用户登录等进行比较。

如果安装了Ruby,要启用日志记录,可以将以下内容添加到.irbrc:

$ cat .irbrc require 'irb/ext/save-history' IRB.conf[:SAVE_HISTORY] = 100 IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"

这需要在每个人的主目录中,或者如果可能的话全局设置。

另一种选择是设置ACL。除非您是特权用户,否则这至少会阻止此类型。有关ACL的详细信息,请参阅http://hbase.apache.org/0.94/book/hbase.accesscontrol.configuration.html