ubantu安装hbase遇到错误:Unrecognized VM option ‘UseConcMarkSweepGC’
遇到的问题:
jdk-18,hbase version命令报错:
Unrecognized VM option 'UseConcMarkSweepGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
原因分析:
cms垃圾回收器在jdk 15中被移除,因此UseConcMarkSweepGC也被移除。 jep 363: 删除了并发标记扫描GC。 所以,要么你应该换回java 8或11,要么修改下面文件中的代码
解决方案:
打开hbase/conf/hbase-env.sh文件进行修改
hadoop@hzc-virtual-machine:/usr/local/hbase$ cd conf/
hadoop@hzc-virtual-machine:/usr/local/hbase/conf$ ls
hadoop-metrics2-hbase.properties hbase-env.sh hbase-site.xml log4j.properties
hbase-env.cmd hbase-policy.xml log4j-hbtop.properties regionservers
hadoop@hzc-virtual-machine:/usr/local/hbase/conf$ vim hbase-env.sh
修改成如下:
第一行是原本的,注释掉#
第二行添上就OK了
(四五行也建议注释掉)(原本没有注释)
# export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_OPTS="-Djava.net.preferIPv4Stack=true"
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
这样完毕之后就可以再返回hbase/bin 可以查看hbase version了,不会报错了!