memory - 可能的内存问题导致 Hbase Thrift 服务器崩溃

标签 memory crash hbase thrift cloudera

我正在使用 Hbase 和 Hbase Thrift 服务器运行 Cloudera CDH4。 Thrift 服务器每天崩溃几次。

在/var/log/hbase/hbase-hbase-thrift-myserver.out 中,有这样的内容:

#
# 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 中,文件末尾没有错误消息。只有大量 DEBUG 消息表明其中一个节点正在缓存特定文件。

我无法找出 Hbase Thrift 服务器的任何配置选项。/etc/中没有明显的文件。只是/etc/hbase/conf 及其 Hbase 文件。

关于调试有什么想法吗?

最佳答案

我们的 HBase Thrift 设置也遇到了同样的问题,最终使用了一个看门狗脚本,如果 Thrift 未运行,该脚本会重新启动它。

您是否每天多次频繁使用 HBase 服务器?这可能会导致这样的结果。没有办法解决这个问题,Thrift 似乎每次使用时都会占用(或泄漏)大量内存,因此您需要一个看门狗脚本。

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

以下 cron 每两个小时重新启动 Thrift。

0 */2 * * * hbase-daemon.sh restart thrift

关于memory - 可能的内存问题导致 Hbase Thrift 服务器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14596702/

相关文章:

java - Android:将 ArrayList 转换为 GSON 内存不足

debugging - 在Visual Studio中进行打印调试?

ios - Firebase crashlytics 报告我的生产版本中存在许多 <编译器生成的> 第 0 行崩溃,这些崩溃是真的吗?

java - 如何获取Hbase中的Metadata信息

hadoop - Hbase HMaster 未运行

java - 监控每个线程的内存使用情况

ios - 在 NSTimer 中调用 AFNetworking 导致严重的内存泄漏

c++ - 如何正确打印内存中变量的地址?

iphone - 从AddressBook iPhone获取Notes时应用程序崩溃

hbase - 无法在我的Mac中独立运行HBase