配置完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

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐