打不开公式编辑器(公式编辑器用不了)
1276
2022-05-29
因为公司正在做鲲鹏芯和麒麟OS的兼容测试,需要安装RocketMQ服务,安装完成后启动broker时,出现了以下错误:
Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
Error: Could not create the Java Virtual Machine.
安装过程(省略步骤):
方式一:官方全平台源码包安装:详细操作方式请参考官网的安装文档;
方式二:官方全平台编辑包:直接下载使用官方已经编译好的程序包;
方式三:根据华为云Rocketmq安装文档安装,地址:https://www.huaweicloud.com/kunpeng/software/rocketmq.html(需要注意,根据文档描述,git clone https://github.com/apache/rocketmq.git rocketmq 下载的是4.7.0版本的源码包,但实际是4.8.0版本的);
安装或下载解压完成之后,软件的结构基本一致,详细不作介绍;
根据以上任一方式安装好Rocketmq之后,默认的启动命令如下:
步骤一:进入Rocketmq安装目录下的bin目录;
步骤二:启动namesrv,命令为:nohup ./mqnamesrv &;
步骤三:启动broker,命令为:nohup ./mqbroker -n localhost:9876 &;
正常期望是namesrv和broker都陈宫启动,但实际是namesrv成功启动了,而broker缺启动失败,具体的报错信息如下:
Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
翻译过来大概意思为:
虚拟机选项'UseG1GC' 是一个试验性的参数,以及必须允许-XX:+UnlockExperimentalVMOptions参数;
无法创建JAVA虚拟机;
发生一个致命错误,程序将退出运行;
这么看还是挺好解决,通过mqbroker.sh脚本查看到,会调用runbroker.sh脚本,编辑runbroker.sh脚本,发现JAVA_OPT中包含了-XX:UseG1GC参数,我们在器后面添加错误提示需要允许的参数,如下:
保存退出后再次启动broker,仍报相同错误,问题未解决,换个思考方式,既然UseG1GC是一个试验性的参数,那即是有可能不稳定或者无法使用;
尝试:去掉刚才新加的参数JAVA_OPT="${JAVA_OPT} -XX:+UnlockExperimentalVMOptions";然后删除参数-XX:+UseG1GC;
再次启动,没有报错,成功启动,如下图:
具体原因是什么没有去深究,希望对各位有所帮助。
另:去掉参数-XX:+UseG1GC,保留JAVA_OPT="${JAVA_OPT} -XX:+UnlockExperimentalVMOptions",也是能成功启动的。
备注:使用鲲鹏云服务器、麒麟操作系统、oracle jdk 1.8.x(据了解麒麟操作系统目前只兼容open jdk和毕昇jdk);
JDK
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。