rule function [ rang-long ] partition size : 3

rule function [ rang-long ] partition size : 3

👉 测试 MyCat 使用,配置如下

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<schema name="demo" checkSQLschema="true" sqlMaxLimit="100">
		<table name="tb_student" dataNode="dn1" rule="auto-sharding-long" />
	</schema>
	<dataNode name="dn1" dataHost="dhost1" database="demo" />
	
	<dataHost name="dhost1" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		
		<writeHost host="master" url="192.168.169.101:3306" user="root"  password="Abcd@1234" />
	</dataHost>

</mycat:schema>

描述:
这里只配置了一个节点测试

❓ 问题:

如上,在测试 MyCat 时配置一个节点,在启动时报错,提示节点数量不对
报错内容如下:

STATUS | wrapper  | 2022/06/29 10:16:39 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2022/06/29 10:16:39 | Launching a JVM...
INFO   | jvm 1    | 2022/06/29 10:16:40 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2022/06/29 10:16:40 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2022/06/29 10:16:40 | 
INFO   | jvm 1    | 2022/06/29 10:16:41 | 
INFO   | jvm 1    | 2022/06/29 10:16:41 | WrapperSimpleApp: Encountered an error running main: java.lang.ExceptionInInitializerError
INFO   | jvm 1    | 2022/06/29 10:16:41 | java.lang.ExceptionInInitializerError
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.MycatStartup.main(MycatStartup.java:53)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at java.lang.reflect.Method.invoke(Method.java:498)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at java.lang.Thread.run(Thread.java:748)
INFO   | jvm 1    | 2022/06/29 10:16:41 | Caused by: io.mycat.config.util.ConfigException: Illegal table conf : table [ TB_STUDENT ] rule function [ rang-long ] partition size : 3 > table datanode size : 1, please make sure table datanode size = function partition size
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.loader.xml.XMLSchemaLoader.checkRuleSuitTable(XMLSchemaLoader.java:595)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.loader.xml.XMLSchemaLoader.loadTable(XMLSchemaLoader.java:422)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.loader.xml.XMLSchemaLoader.loadTables(XMLSchemaLoader.java:317)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.loader.xml.XMLSchemaLoader.loadSchemas(XMLSchemaLoader.java:169)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.loader.xml.XMLSchemaLoader.load(XMLSchemaLoader.java:117)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.loader.xml.XMLSchemaLoader.<init>(XMLSchemaLoader.java:78)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.loader.xml.XMLSchemaLoader.<init>(XMLSchemaLoader.java:82)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.ConfigInitializer.<init>(ConfigInitializer.java:76)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.config.MycatConfig.<init>(MycatConfig.java:72)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.MycatServer.<init>(MycatServer.java:180)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	at io.mycat.MycatServer.<clinit>(MycatServer.java:121)
INFO   | jvm 1    | 2022/06/29 10:16:41 | 	... 7 more
STATUS | wrapper  | 2022/06/29 10:16:43 | <-- Wrapper Stopped

👉 解决

autopartition-long.txt 文件中修改配置规则
下图中可以看到,默认情况下配置了三个节点

在这里插入图片描述
所以这里我们只需要删除两个即可

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值