mycat搭建说明
1、Mycat安装与使用
1.1 解压tar包
[root@rabbit-test-1 service]# tar zxvf Mycat-server-1.5.1-RELEASE-20161130213509-linux.tar.gz
1.2 linux命令
[root@rabbit-test-1 bin]# ./mycat start 启动
[root@rabbit-test-1 bin]# ./mycat stop 停止
[root@rabbit-test-1 bin]# ./mycat console 前台运行
[root@rabbit-test-1 bin]# ./mycat install 添加到系统自动启动(暂未实现)
[root@rabbit-test-1 bin]# ./mycat remove 取消随系统自动启动(暂未实现)
[root@rabbit-test-1 bin]# ./mycat restart 重启服务
[root@rabbit-test-1 bin]# ./mycat pause 暂停
[root@rabbit-test-1 bin]# ./mycat status 查看启动状态
1.2 内存配置
启动前,一般需要修改JVM配置参数,打开conf/wrapper.conf文件,如下行的内容为2G和2048,可根据本机配置情况修改为512M或其它值。 以下配置跟jvm参数完全一致,可以根据自己的jvm参数调整。
# Java Additional Parameters
#wrapper.java.additional.1=
wrapper.java.additional.1=-DMYCAT_HOME=.
wrapper.java.additional.2=-server
wrapper.java.additional.3=-XX:MaxPermSize=64M
wrapper.java.additional.4=-XX:+AggressiveOpts
wrapper.java.additional.5=-XX:MaxDirectMemorySize=2G
wrapper.java.additional.6=-Dcom.sun.management.jmxremote
wrapper.java.additional.7=-Dcom.sun.management.jmxremote.port=1984
wrapper.java.additional.8=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.10=-Xmx4G
wrapper.java.additional.11=-Xms1G
1.3 Mycat连接测试
测试mycat与测试mysql完全一致,mysql怎么连接,mycat就怎么连接。
推荐先采用命令行测试:
mysql -uroot -proot -P8066 -h127.0.0.1
1.4 Mycat配置入门
--server.xml:是Mycat服务器参数调整和用户授权的配置文件。
--schema.xml:是逻辑库定义和表以及分片定义的配置文件。
--rule.xml: 是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启MyCAT。
--log4j.xml: 日志存放在logs/log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要可以调整输出级别为debug,debug级别下,会输出更多的信息,方便排查问题。
--lib MyCAT自身的jar包或依赖的jar包的存放目录。
--logs MyCAT日志的存放目录。日志存放在logs/log中,每天一个文件
1.5 配置server.xml
两个用户root和user,一个逻辑库(TESTDB)
<mycat:server xmlns:mycat="http://org.opencloudb/">
<system>
<property name="defaultSqlParser">druidparser</property>
</system>
<user name="root">
<property name="password">123456</property>
<property name="schemas">rabbit_common,rabbit_member,rabbit_order,rabbit_pay</property>
</user>
<user name="user">
<property name="password">user</property>
<property name="schemas">rabbit_common,rabbit_member,rabbit_order,rabbit_pay</property>
<property name="readOnly">true</property>
</user>
</mycat:server>
1.6 配置schema.xml
1.server.xml 逻辑库名name=schemas对应schema.xml里面的schema name="TESTDB"两个名词需要对应起来。
2.schema 是实际逻辑库的配置。
3.dataNode是逻辑库对应的分片,如果配置多个分片只需要多个dataNode即可。
4.dataHost是实际的物理库配置地址,可以配置多主主从等其他配置,多个dataHost代表分片对应的物理库地址,下面的writeHost、readHost代表该分片是否配置多写,主从,读写分离等高级特性。
<mycat:schema xmlns:mycat="http://org.opencloudb/" >
<schema name="rabbit_common" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"/>
<schema name="rabbit_member" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn2"/>
<schema name="rabbit_order" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn3"/>
<schema name="rabbit_pay" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn4"/>
<dataNode name="dn1" dataHost="localhost1" database="rabbit_common" />
<dataNode name="dn2" dataHost="localhost1" database="rabbit_member" />
<dataNode name="dn3" dataHost="localhost1" database="rabbit_order" />
<dataNode name="dn4" dataHost="localhost1" database="rabbit_pay" />
# 1.balance="1",全部的readHost与writeHost参与select语句的负载均衡。
#2.switchType="1",-1:表示启用主从切换;1:为默认值,自动切换;2:基于主从同步的状态,决定是否切换。
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
#url代表写库的地址
<writeHost host="hostM1" url="rm-2ze3p7852ky9a4x9e.mysql.rds.aliyuncs.com:3306" user="rabbit" password="JWbaxTmE1X9XXVUH">
#url代表读库的地址
<readHost host="hostS1" url="112.126.93.151:36666" user="root" password="123456" />
</writeHost>
<writeHost host="hostM2" url="112.126.93.151:36666" user="root" password="123456" />
</dataHost>
</mycat:schema>
1.7 启动
以上所写配置文件配置好之后进入/opt/marsooo/service/mycat/bin目录下,执行启动命令。查看启动日志,以下代表启动成功。
[root@iZ2zefwbid33hw56ourezzZ logs]# tail -444f wrapper.log
STATUS | wrapper | 2018/01/09 15:56:31 | --> Wrapper Started as Daemon
STATUS | wrapper | 2018/01/09 15:56:31 | Launching a JVM...
INFO | jvm 1 | 2018/01/09 15:56:31 | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
INFO | jvm 1 | 2018/01/09 15:56:32 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2018/01/09 15:56:32 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
INFO | jvm 1 | 2018/01/09 15:56:32 |
INFO | jvm 1 | 2018/01/09 15:56:32 | log4j 2018-01-09 15:56:32 [./conf/log4j.xml] load completed.
INFO | jvm 1 | 2018/01/09 15:56:32 | MyCAT Server startup successfully. see logs in logs/mycat.log