hiveserverのモニタリング

hiveserver(not hiveserver2)の調子が悪くOutOfMemoryが発生することもあるのでメモリを増やしつつモニタリングも強化してみている。

メモリを増やしてかつGCログを取るためにhive-env.shに下記を追加。この例ではhiveserverのヒープを2GBにしている。

if [ "$SERVICE" = "hiveserver" ]; then
  export HADOOP_HEAPSIZE=2048
  export HIVE_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps ..."
fi

そしてhadoop-env.shでHIVE_OPTSを受けとるようにする。

export HADOOP_OPTS="${HIVE_OPTS}"

なんでhadoop-env.shをいじる必要があるかっているとhiveserverの起動にhadoopコマンド使うからね。

この辺は下記を参考にした。

Enabling JMX Monitoring for Hadoop And Hive « The Holy Java


モニタリングは下記を参考にjstat -gcutilでOLD領域の使用率とFull GCの回数をグラフ化していみている。

derivedがプラグインアーキテクチャになってGrowthForecastに直接POSTできるようになったので、Javaのヒープのモニタリングをしてみた - blog.nomadscafe.jp