HBASE的那些报错那些坑
踏入hadoop生态,就踏入了一个大坑
书接上回
一、hbase shell中的回格
(插入一句,对于hbase的shell界面想要使用退格键,需要先把secureCRT的仿真设为linux,然后使用ctrl+backspace才行
options—session options)
二、DataNode的内存大小
今天在hbase下执行了hbase shell后,随手执行了scan TABLE,就想看着玩儿
然后在hbase的shell界面半天没有动静
我直接ctrl+c把它断掉了,然后后面尝试建表,但是仍然半天没有反应,我一直等了半天告诉我超时了
如下图所示
就是提示我超时,然后给了我一堆样例。
我看样例中的表名前面还有类似命名空间的东西,然后参考了一篇文章戳这里
看了看怎么建命名空间,打算先建个命名空间玩儿玩儿。
在hbase的shell中执行了create_namespace ‘lw_ns’。依然半天没反应,直到超时
感觉不对了。然后我开始跟踪日志,看到了这些东西
基本就是在不断的更新日志。
然后我根据报错信息去百度,感觉没什么有用的东西。
再回过头去用前一张图中的超时的报错去百度,也是没有什么有用的结果
最后看到一篇帖子 狠戳这里
我觉得很有道理,人家的内存少,我的更少,我的每个DataNode只有1个G的内存。。。。
所以我直接重启了一下整个hbase,问题消失。。。
教训就是,hbase的计算节点一定要有大内存。。。所以我觉得我的一共16个G的内存可能还是有点儿少
扩大计算节点的内存吧
三、hbase的大小写敏感
我建了一个命名空间叫lw_ns
然后在这下面建了一个xxTest的表。那么查询语句应该写为
scan ‘lw_ns.xxTest’。我尝试写成’lw_ns.xxtest’结果报错
所以结论是,hbase的语句也好,表甚至其他的东西也好,应该都是大小写敏感的。
所以或者规定一套命名规则,否则安全起见,统一大小写是个比较好的主意
还没有评论,来说两句吧...