很多hbase有自带的zookeeper,会发现hbase-env.sh只有一个hbase-heepsize配置,也就是说默认情况下,hbase和zk的java进程都用同样大小的内存,但实际环境中,一般zk不需要与hbase一样的大的内存,比如你想hbase用8G内存,zk用2G,不去改些东西,还真不好设置。
方法有很多,我这里也没去深入研究,只采用了一种简单粗暴的方法,直接修改启动脚本,具体如下:
编辑$HBASE_HOME/bin/hbase脚本
修改以下一段
elif [ "$COMMAND" = "zookeeper" ] ; then
CLASS='org.apache.hadoop.hbase.zookeeper.HQuorumPeer'
if [ "$1" != "stop" ] ; then
HBASE_OPTS="$HBASE_OPTS $HBASE_ZOOKEEPER_OPTS"
fi
变成
elif [ "$COMMAND" = "zookeeper" ] ; then
CLASS='org.apache.hadoop.hbase.zookeeper.HQuorumPeer'
if [ "$1" != "stop" ] ; then
HBASE_OPTS="$HBASE_OPTS $HBASE_ZOOKEEPER_OPTS"
JAVA_HEAP_MAX="-Xmx2048m"
fi
其实就是在起动zookeeper时,单独指定heap_size,这样实现zk和hbase用不同heap_size,写得有点乱,仅供参考,by george.ma 2011/6/16
阅读(1187) | 评论(0) | 转发(0) |