win myCat高可用配置

myCat 安装及配置

一、查看服务器上是否安装jdk
运行=>cmd=>javac,如提示:

不是内部或外部命令,也不是可运行的程序
或批处理文件。

表示未安装jdk

2、下载jdk,官网 https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

3、安装jdk

4、配置jdk环境变量

新建 系统变量 JAVA_HOME,配置安装路径

  C:\Program Files\Java\jdk1.8.0_221

新建 系统变量 CLASSPATH

.%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

Path增加以下内容

 %JAVA_HOME%\bin   和 %JAVA_HOME%\jre\bin

5、重新允许 javac,看是否配置成功

二、安装配置MyCat

下载mycat 官网:[http://www.mycat.org.cn/](http://www.mycat.org.cn/)

1、将mycat复制到安装目录

2、修改配置 \mycat\conf 目录下

schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
	 <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="10000" dataNode="dn1">
	</schema>
<!--指定节点-->
	<dataNode name="dn1" dataHost="localhost1" database="testdb" />
<!-- writeType和balance是用来控制后端集群的读写分离的关键参数,这里我用了双主双从的集群配置
            这里的测试过程比较麻烦,所以直接贴结论:
           1.balance=0时,读操作都在localhost上(localhost失败时,后端直接失败)
           2.balance=1时,读操作会随机分散在localhost1和两个readhost上面(localhost失败时,写操作会在localhost1,如果localhost1再失败,则无法进行写操作) 双主备用用这种模式
           3.balance=2时,写操作会在localhost上,读操作会随机分散在localhost1,localhost1和两个readhost上面(同上)
           4.writeType=0时,写操作会在localhost上,如果localhost失败,会自动切换到localhost1,localhost恢复以后并不会切换回localhost进行写操作
           5.writeType=1时,写操作会随机分布在localhost和localhost1上,单点失败并不会影响集群的写操作,但是后端的从库会无法从挂掉的主库获取更新,会在读数据的时候出现数据不一致
           举例:localhost失败了,写操作会在localhost1上面进行,localhost1的主从正常运行,但是localhost的从库无法从localhost获取更新,localhost的从库于其他库出现数据不一致
         --> 

	<dataHost name="localhost1" maxCon="5000" minCon="1" balance="1"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<!-- can have multi write hosts -->
		<writeHost host="hostM1" url="192.168.0.1:3306" user="root"
				   password="123456*">
				   <!--<readHost host="hostS2" url="10.26.87.23:3306" user="root" password="Shiseido20170101*" />-->
		</writeHost>
		
		 <writeHost host="hostM2" url="192.168.0.2:3306" user="root"
				   password="123456">
				  <!--<readHost host="hostS2" url="10.26.87.22:3306" user="root" password="Shiseido20170101*" />-->
		</writeHost>
		<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
	</dataHost>

server.xml 中 user

<user name="root" defaultAccount="true">
		<property name="password">123456</property>
		<property name="schemas">TESTDB</property>
		<property name="defaultSchema">TESTDB</property>
		<!--schemas 必须大写,否则报错 -->
	</user>

server.xml优化配置

<property name="processors">32</property> 
<property name="processorExecutor">64</property> 
 <property name="processorBufferChunk">4096</property>
 <property name="processorBufferPool">409600</property>
 <!--默认为type 0: DirectByteBufferPool | type 1 ByteBufferArena | type 2 NettyBufferPool -->
<property name="processorBufferPoolType">0</property>

修改端口

<property name="serverPort">8076</property> 
<property name="managerPort">9076</property> 

wrapper.conf 指定jdk安装路径

wrapper.java.command=C:\Program Files\Java\jdk1.8.0_251\bin\java.exe

优化配置

wrapper.java.additional.4=-XX:MaxDirectMemorySize=32G
wrapper.java.additional.9=-Xmx8G
wrapper.java.additional.10=-Xms8G

wrapper.java.initmemory=128
wrapper.java.maxmemory=2048

3、开通mycat端口 8066 和 9066(监听),防火墙入栈规则 增加

4、运行=>cmd=> cd mycat安装目录

安装mycat
mycat.bat install

启动mycat

mycat.bat start

查看mycat状态
mycat.bat status

MyCat命令:

停止:
mycat.bat stop

重启:
mycat.bat restart

猜你喜欢

转载自blog.csdn.net/weixin_41003771/article/details/106246373