Mycat启动报错 Encountered an error running main: java.lang.ExceptionInInitializerError
配置完schema.xml ,server.xml 后尝试启动mycat[root@localhost ~]# /usr/local/mycat/bin/mycat startStarting Mycat-server...[root@localhost ~]# ps -aux |grep mycatroot50260.00.2 1498325540 pts/2S+10:320:00 vim /u
·
配置完schema.xml ,server.xml 后尝试启动mycat
[root@localhost ~]# /usr/local/mycat/bin/mycat start
Starting Mycat-server...
[root@localhost ~]# ps -aux |grep mycat
root 5026 0.0 0.2 149832 5540 pts/2 S+ 10:32 0:00 vim /usr/local/mycat/logs/wrapper.log
root 5104 0.0 0.0 112728 972 pts/0 R+ 10:33 0:00 grep --color=auto mycat
查看进程发现mycat并没用启动。
打开/usr/local/mycat/logs/wrapper.log
<-- Wrapper Stopped
STATUS | wrapper | 2022/03/25 10:37:02 | --> Wrapper Started as Daemon
STATUS | wrapper | 2022/03/25 10:37:03 | Launching a JVM...
INFO | jvm 1 | 2022/03/25 10:37:03 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2022/03/25 10:37:03 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
INFO | jvm 1 | 2022/03/25 10:37:03 |
INFO | jvm 1 | 2022/03/25 10:37:04 |
INFO | jvm 1 | 2022/03/25 10:37:04 | WrapperSimpleApp: Encountered an error running main: java.lang.ExceptionInInitializerError
INFO | jvm 1 | 2022/03/25 10:37:04 | java.lang.ExceptionInInitializerError
INFO | jvm 1 | 2022/03/25 10:37:04 | at io.mycat.MycatStartup.main(MycatStartup.java:53)
INFO | jvm 1 | 2022/03/25 10:37:04 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2022/03/25 10:37:04 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO | jvm 1 | 2022/03/25 10:37:04 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO | jvm 1 | 2022/03/25 10:37:04 | at java.lang.reflect.Method.invoke(Method.java:498)
INFO | jvm 1 | 2022/03/25 10:37:04 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
INFO | jvm 1 | 2022/03/25 10:37:04 | at java.lang.Thread.run(Thread.java:745)
INFO | jvm 1 | 2022/03/25 10:37:04 | Caused by: io.mycat.config.util.ConfigException: SelfCheck### schema master1db refered by user root is not exist!
INFO | jvm 1 | 2022/03/25 10:37:04 | at io.mycat.config.ConfigInitializer.selfChecking0(ConfigInitializer.java:140)
INFO | jvm 1 | 2022/03/25 10:37:04 | at io.mycat.config.ConfigInitializer.<init>(ConfigInitializer.java:116)
INFO | jvm 1 | 2022/03/25 10:37:04 | at io.mycat.config.MycatConfig.<init>(MycatConfig.java:72)
INFO | jvm 1 | 2022/03/25 10:37:04 | at io.mycat.MycatServer.<init>(MycatServer.java:144)
INFO | jvm 1 | 2022/03/25 10:37:04 | at io.mycat.MycatServer.<clinit>(MycatServer.java:96)
INFO | jvm 1 | 2022/03/25 10:37:04 | ... 7 more
INFO | jvm 1 | 2022/03/25 10:37:04 | 2022-03-25 10:37:04,246 [INFO ][WrapperSimpleAppMain] total resouces of dataHost localhost1 is :6 (io.mycat.backend.datasource.PhysicalDBPool:PhysicalDBPool.java:100)
STATUS | wrapper | 2022/03/25 10:37:06 | <-- Wrapper Stopped
之后检查schema.xml
发现原来是自己将第二个<writeHost>中的<readHost>标签中"slave1"写成了 "lsave1"
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="master1db" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1" ></schema>
<dataNode name="dn1" dataHost="localhost1" database="master1db" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="master1" url="master1:3306" user="mycatproxy" password="Yanan@123">
<readHost host="slave1" url="slave1:3306" user="mycatproxy" password="Yanan@123" />
<readHost host="slave2" url="slave2:3306" user="mycatproxy" password="Yanan@123" />
</writeHost>
<writeHost host="master2" url="master2:3306" user="mycatproxy" password="Yanan@123">
<readHost host="lsave1" url="slave1:3306" user="mycatproxy" password="Yanan@123" />
<readHost host="lsave2" url="slave2:3306" user="mycatproxy" password="Yanan@123" />
</writeHost>
</dataHost>
</mycat:schema>
改正之后再次启动mycat,
检查进程,端口均正常显示。
总结
修改server.xml等配置文件时一定要仔细检查且,一定要注意编码格式。如果增加注释或者增加中文注释,一定要确保编码格式和之前的编码一样,一般都为UTF-8
更多推荐
所有评论(0)