首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可能的内存问题使Hbase Thrift服务器崩溃

可能的内存问题使Hbase Thrift服务器崩溃
EN

Stack Overflow用户
提问于 2013-01-30 12:28:45
回答 3查看 4K关注 0票数 3

我正在用Hbase和Hbase Thrift Server运行Cloudera CDH4。Thrift服务器一天会崩溃好几次。

在/var/log/hbase/hbase-hbase-thrift-myserver.out,中,它是这样的:

代码语言:javascript
复制
#
# java.lang.OutOfMemoryError: Java heap space
# -XX:OnOutOfMemoryError="kill -9 %p"
#   Executing /bin/sh -c "kill -9 8151"...

在/var/log/hbase/hbase-hbase-thrift-myserver.log,中,文件末尾没有错误消息。只有许多调试消息表明其中一个节点正在缓存特定的文件。

我找不到Hbase Thrift服务器的任何配置选项。/etc/中没有明显的文件。只需/etc/ Hbase /conf及其Hbase文件。

对调试有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-13 10:02:27

使用/etc/hbase/conf/hbase-env.sh,我增加了堆大小,这解决了崩溃问题。

代码语言:javascript
复制
# The maximum amount of heap to use, in MB. Default is 1000.
export HBASE_HEAPSIZE=8000

感谢Harsh J on the CDH Users mailing list帮我弄清楚。正如他所指出的,我没有日志消息表明可能正在发生kill -9

确实,如果在崩溃前的日志尾部中缺少关闭处理程序消息,则可能存在通过

处理程序传递给进程的kill -9。

票数 2
EN

Stack Overflow用户

发布于 2013-02-06 06:21:25

我们的HBase Thrift设置也遇到了同样的问题,最后我们使用了一个watchdog脚本,如果Thrift没有运行,它会重新启动它。

您是否一天多次重创您的HBase服务器?这可能会导致这样的结果。没有办法绕过这一点,每次使用Thrift似乎都会占用(或泄漏)大量内存,因此您需要一个watchdog脚本。

如果看门狗脚本负载太大,您可以使用一个简单的cron作业在频繁的时间间隔内重新启动Thrift,以确保它保持运行。

下面的cron每两个小时重新启动一次Thrift。

代码语言:javascript
复制
0 */2 * * * hbase-daemon.sh restart thrift
票数 2
EN

Stack Overflow用户

发布于 2016-06-09 06:18:35

增加堆大小可能并不总是解决方案。

根据此cloudera blog

Thrift服务器可能正在接收无效数据。我建议启用帧传输和紧凑协议。

如果你在服务器上启用了这些协议,那么客户端应该使用相同的协议。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14596702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档