HBaseがメモリ不足で落ちる。-Xmx1000 -Xms1000にしてるのに、なぜ落ちる?パフォーマンスは後で考えるので、とにかく落ちないように省メモリの設定にしたいんだけど、きっと何か見落としているな #hbase
2010-11-01 08:03:11ヒープ不足か、スワップアウトか、どちらが発生しているか切り分けが必要かな。 http://ow.ly/32DIq QT @tkihira: HBaseがメモリ不足で落ちる。-Xmx1000 にしてるのに、なぜ落ちる?とにかく落ちないように省メモリの設定に #hbase
2010-11-02 01:48:55@tatsuya6502 ヒープ不足のようです。4Gしか積んでいないので、DataNodeに750M、TaskTrackerに500M、Mapper・Reducerに200M×2、Balancerに500M、HBaseに1Gという設定ですが、GCがメモリ確保に失敗しています
2010-11-02 17:39:04@tatsuya6502 HBaseがOut of memoryで落ちていたのですが、Hadoopの設定に難があって予想しているよりもメモリを多く確保していることが原因ではないかと現在考えております。今の負荷テストが通れば良いのですが…
2010-11-02 17:55:18@tkihira HBase のOut of Memについては、メモリー上に置くデータ量を調整して防げるかもしれません。hbase-default.xml から、hbase-site.xml に次の設定をコピーして、数字を下げてみてください。つづく
2010-11-02 18:10:40@tkihira hbase.regionserver.global.memstore.upperLimit, 同 lowerLimit, hfile.block.cache.size 。この3つのパラメータでメモリー消費を調整できるはずです。
2010-11-02 18:14:08@tatsuya6502 貴重な情報ありがとうございました。それらのパラメータはすべてデフォルトのまま使っていたので、次の試験で少し下げて挑戦してみます。ところで、デフォルトの設定でもHBASE_HEAPSIZEよりもメモリが消費されてしまう可能性ってあるのでしょうか?
2010-11-02 18:22:42相対値で設定しますので、heapが小さい時はあり得ると思います。ディフォルトでは、ここで設定しているバッファとキャッシュで、heapの60%.. QT @tkihira デフォルトの設定でもHBASE_HEAPSIZEよりもメモリが消費されてしまう可能性ってあるのでしょうか?
2010-11-02 19:00:30@tkihira ... 60%を使いますが、クラスのロードしたり、スレッドの動作でheapとstackを消費し、さらにおびただしい数のオブジェクトが作られては、GCで回収されていくわけで、それらが40%(400MB)から溢れてしまう可能性はあると思います。
2010-11-02 19:04:02@tatsuya6502 なるほど、ありがとうございます。(一般論として)本来使う容量の倍近くのメモリを用意しておく必要があるというのは、少し盲点でした。
2010-11-02 20:07:53