HBASE的那些报错那些坑

踏入hadoop生态,就踏入了一个大坑


书接上回


一、hbase shell中的回格

(插入一句,对于hbase的shell界面想要使用退格键,需要先把secureCRT的仿真设为linux,然后使用ctrl+backspace才行

options--session options)

HBASE的那些报错那些坑_第1张图片


二、DataNode的内存大小

今天在hbase下执行了hbase shell后,随手执行了scan TABLE,就想看着玩儿

然后在hbase的shell界面半天没有动静

我直接ctrl+c把它断掉了,然后后面尝试建表,但是仍然半天没有反应,我一直等了半天告诉我超时了

如下图所示

HBASE的那些报错那些坑_第2张图片

就是提示我超时,然后给了我一堆样例。

我看样例中的表名前面还有类似命名空间的东西,然后参考了一篇文章戳这里

看了看怎么建命名空间,打算先建个命名空间玩儿玩儿。

在hbase的shell中执行了create_namespace 'lw_ns'。依然半天没反应,直到超时

感觉不对了。然后我开始跟踪日志,看到了这些东西

HBASE的那些报错那些坑_第3张图片

基本就是在不断的更新日志。

然后我根据报错信息去百度,感觉没什么有用的东西。

再回过头去用前一张图中的超时的报错去百度,也是没有什么有用的结果

最后看到一篇帖子  狠戳这里

我觉得很有道理,人家的内存少,我的更少,我的每个DataNode只有1个G的内存。。。。

所以我直接重启了一下整个hbase,问题消失。。。


教训就是,hbase的计算节点一定要有大内存。。。所以我觉得我的一共16个G的内存可能还是有点儿少

扩大计算节点的内存吧


三、hbase的大小写敏感

我建了一个命名空间叫lw_ns

然后在这下面建了一个xxTest的表。那么查询语句应该写为

scan 'lw_ns.xxTest'。我尝试写成'lw_ns.xxtest'结果报错

所以结论是,hbase的语句也好,表甚至其他的东西也好,应该都是大小写敏感的。

所以或者规定一套命名规则,否则安全起见,统一大小写是个比较好的主意


你可能感兴趣的:(异常,hbase,HRegionServer)