工作需要启动Thrift服务,以前在HBase 0.92上很顺溜的:
$ hbase thrift start
就能启动,结果在Intel的这个集成版本上就是不行:
$ service hbase-thrift start
或者在Web街面上启动也是提示错误,总是提示这个错误:
Invalid maximum heap size: -Xmx0m
Could not create the Java virtual machine.
找了各种配置参数改来改去都不对,最后才发现,原来是在这里:
/usr/lib/hbase/conf/hbase-env.sh
有一行是thrift的配置信息:
export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xmx0m"
嗯嗯,真相大白,原来是这里的问题啊……为毛设置成0啊,果断改个:
export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xmx1024m"
然后关闭HBase,再启动就好了……
但是过了一会儿,发现ThriftServer进程又没了,再看hbase-env.sh,发现被改回去了!
恩恩,研究了一下,原来是因为Intel发行版是用一个模板来生成配置文件的,检查模板文件看看。
发现原来是需要修改一个配置信息:
hbase_thrift_memory
在Manager的管理界面上,HBase配置里修改thrift的内存使用,然后重新配置节点,再重启,HBase,就OK~