mycat启动配置踩坑记

安装mycat,网上教程很多,此处不必重复记录。直接到最后一步:

PS D:\mycat\mycat\bin> .\startup_nowrap.bat
...
D:\mycat\mycat\bin>"C:\openjdk17\current/bin/java" -server -Xms512M -Xmx512M -XX:MaxPermSize=64M  -XX:+AggressiveOpts -XX:MaxDirectMemorySize=1G -DMYCAT_HOME=D:\myd\work\learning\springBoot\mycat\mycat -cp "..\conf;..\lib\*" io.mycat.MycatStartup
Unrecognized VM option 'MaxPermSize=64M'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

说明本VM不支持参数MaxPermSize=64M。

使用命令 vim .\startup_nowrap.bat 


REM check JAVA_HOME & java
set "JAVA_CMD=%JAVA_HOME%/bin/java"
if "%JAVA_HOME%" == "" goto noJavaHome
if exist "%JAVA_HOME%\bin\java.exe" goto mainEntry
:noJavaHome
echo ---------------------------------------------------
echo WARN: JAVA_HOME environment variable is not set. 
echo ---------------------------------------------------
set "JAVA_CMD=java"
:mainEntry
REM set HOME_DIR
set "CURR_DIR=%cd%"
cd ..
set "MYCAT_HOME=%cd%"
cd %CURR_DIR%
"%JAVA_CMD%" -server -Xms512M -Xmx512M -XX:MaxPermSize=64M  -XX:+AggressiveOpts -XX:MaxDirectMemorySize=1G -DMYCAT_HOME=%MYCAT_HOME% -cp "..\conf;..\lib\*" io.mycat.MycatStartup

将代码中的-XX:MaxPermSize=64M去除。

再运行.\startup_nowrap.bat,出现不支持参数-XX:+AggressiveOpts。再次将startup_nowrap.bat文件中的参数-XX:+AggressiveOpts去除。再运行.\startup_nowrap.bat,出现如下错误:

Exception in thread "main" java.lang.IllegalAccessError: class io.mycat.buffer.ByteBufferPage (in unnamed module @0x18eed359) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x18eed359
        at io.mycat.buffer.ByteBufferPage.<init>(ByteBufferPage.java:26)
        at io.mycat.buffer.DirectByteBufferPool.<init>(DirectByteBufferPool.java:41)
        at io.mycat.MycatServer.startup(MycatServer.java:304)
        at io.mycat.MycatStartup.main(MycatStartup.java:57)

网上搜索,没有任何错误提示信息的解决方案。本人怀疑是jdk版本的问题,遂把jdk版本从当前版本openjdk17逐步升级到openjdk21版本。均出现上述问题。再把版本换成oracljdk系列版本也出现此问题。困扰本人好几天,无法解决。

那就把版本降到最低版本吧,当把版本降到openjdk9时,mycat启动成功。

2023-03-24 17:05:51,828 [INFO ][$_NIOREACTOR-1-RW] close connection,reason:stream closed ,MySQLConnection [id=1, lastTime=1679648751814, user=root, schema=db3, old shema=db3, borrowed=false, fromSlaveDB=false, threadId=250, charset=utf8, txIsolation=3, autocommit=true, attachment=null, respHandler=null, host=localhost, port=3306, statusSync=null, writeQueue=0, modifiedSQLExecuted=false]  (io.mycat.net.AbstractConnection:AbstractConnection.java:508)
MyCAT Server startup successfully. see logs in logs/mycat.log

用jps命令查看:

9816 MycatStartup
12284 Jps

看来版本匹配很重要,有时总以为版本高会兼容低版本,没放心上,有时真会给自己找很多麻烦。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值