始终从主日志开始(TODO:哪些行?)。通常它只是一遍又一遍地打印相同的线条。如果没有,那就有问题了。谷歌或 search-hadoop.com 应该为你看到的那些例外返回一些点击。
Apache HBase 中很少出现错误,通常当某些东西搞砸了,接下来可能会有数百个异常和来自各地的堆栈跟踪。解决此类问题的最佳方法是将日志提升到所有开始的位置,例如,使用 RegionServers 的一个技巧是他们将在中止时打印一些指标,因此 Dump 的灰心应该可以帮助您问题的开始。
RegionServer 自杀是“正常的”,因为这是他们在出现问题时所做的事情。例如,如果 ulimit 和 max 传输线程(两个最重要的初始设置,参见 [ulimit] 和 dfs.datanode.max.transfer.threads
)没有改变,那么它将无法实现指向 DataNodes 创建新线程,从 HBase 的角度来看,HDTR 已经消失。想想如果您的 MySQL 数据库突然无法访问本地文件系统上的文件会发生什么,这与 HBase 和 HDFS 相同。看到 RegionServers 提交 seppuku 的另一个常见原因是当他们输入持续时间超过默认 ZooKeeper 会话超时的延长垃圾收集暂停时。有关 GC 暂停的更多信息,请参阅上面的 3 部分博客文章,Todd Lipcon 和 Long GC 暂停。