企业实战_19_MyCat初始化ZK并配置Mycat支持ZK

接上一篇:企业实战_18_MyCat_ZK集群安装部署
https://gblfy.blog.csdn.net/article/details/100075631


init_zk_data.sh脚本,这个脚本的作用就是向zookeeper集群中初始化mycat配置的,关于脚本呢、通过读取zkconf目录下mycat的配置文件,把它初始化到zookeeper集群中。

一、初始化集群中的数据
1. 配置复制
#进入conf目录
cd /app/mycat/conf/

#将重要的配置文件,复制到zkconf目录下面
cp server.xml schema.xml rule.xml sequence_db_conf.properties zkconf/

在这里插入图片描述

2. 初始化zookeeper集群中的数据
#进入mycat的bin目录下面
cd /app/mycat/bin/

#执行初始化脚本
./init_zk_data.sh

注:当看到INFO Done时,说明已经初始化完成了

[root@node1 bin]# ./init_zk_data.sh 
o2021-07-14 08:10:03 INFO JAVA_CMD=java
o2021-07-14 08:10:03 INFO Start to initialize /mycat of ZooKeeper
o2021-07-14 08:10:07 INFO Done

在这里插入图片描述

二、验证数据是否被初始化到集群中
2.1. 进入mycat01服务节点
# 进入zk的bin目录
cd /app/zookeeper-3.4.11/bin/

#使用zk客户端,登录到zk当前节点中
./zkCli.sh

在这里插入图片描述

2.2. 使用ls命令查看当前节点

使用ls命令查看当前节点下有什么节点

[zk: localhost:2181(CONNECTED) 1] ls /mycat
[mycat-cluster-1]
[zk: localhost:2181(CONNECTED) 2] ls /mycat/mycat-cluster-1
[schema, server, rules, cache, sequences, line]

# 在/mycat/mycat-cluster-1节点下有4个配置节点,在schema配置节点下面有3个标签
[zk: localhost:2181(CONNECTED) 3] ls /mycat/mycat-cluster-1/schema
[schema, dataNode, dataHost]

# 使用`get /mycat/mycat-cluster-1/schema/dataHost`查看具体节点下的配置信息
[zk: localhost:2181(CONNECTED) 4] get /mycat/mycat-cluster-1/schema/dataHost
[{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92101","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.101","url":"192.168.92.101:3306","password":"123456","user":"im_mycat"}]},{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92102","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.102","url":"192.168.92.102:3306","password":"123456","user":"im_mycat"}]},{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92103","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.103","url":"192.168.92.103:3306","password":"123456","user":"im_mycat"}]},{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92104","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.104","url":"192.168.92.104:3306","password":"123456","user":"im_mycat"}]}]
cZxid = 0x100000018
ctime = Wed Jul 14 08:05:53 CST 2021
mZxid = 0x10000003d
mtime = Wed Jul 14 08:10:06 CST 2021
pZxid = 0x100000018
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1041
numChildren = 0
[zk: localhost:2181(CONNECTED) 5] 
2.3. 进入zk node1服务节点
# 进入zk的bin目录
cd /app/zookeeper-3.4.11/bin/
#使用zk客户端,登录到zk当前节点中
./zkCli.sh

在这里插入图片描述

2.4. 验证数据是否已同步zk02

进入node2服务节点,

# 进入zk的bin目录
cd /app/zookeeper-3.4.11/bin/

#使用zk客户端,登录到zk当前节点中
./zkCli.sh
2.5. 使用ls命令验证信息
[zk: localhost:2181(CONNECTED) 0] ls /mycat/mycat-cluster-1
[schema, server, rules, cache, sequences, line]
[zk: localhost:2181(CONNECTED) 1] get /mycat/mycat-cluster-1/schema/dataHost
[{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92101","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.101","url":"192.168.92.101:3306","password":"123456","user":"im_mycat"}]},
{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92102","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.102","url":"192.168.92.102:3306","password":"123456","user":"im_mycat"}]},
{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92103","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.103","url":"192.168.92.103:3306","password":"123456","user":"im_mycat"}]},
{"balance":3,"maxCon":1000,"minCon":10,"name":"mysql92104","writeType":0,"switchType":1,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"192.168.92.104","url":"192.168.92.104:3306","password":"123456","user":"im_mycat"}]}]

cZxid = 0x100000018
ctime = Wed Jul 14 08:05:53 CST 2021
mZxid = 0x10000003d
mtime = Wed Jul 14 08:10:06 CST 2021
pZxid = 0x100000018
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1041
numChildren = 0
[zk: localhost:2181(CONNECTED) 2] 

在这里插入图片描述
从图中可以看出3个zookeeper信息数据已经同步过来了
mycat配置文件到zookeeper集群的同步

三、配置mycat支持zookeeper启动

通过zookeeper的配置文件启动mycat

3.1. mycat节点01配置修改
#进入mycat的安装目录
cd /app/mycat/conf/

#编辑 myid.properties配置文件#这个文件配置了mycat通过zookeeper的节点来获取mycat的配置信息

vim myid.properties

修改后:


#是否通过zookeeper启动 true是 false 否,通过zk读取配置文件
loadZk=true
# zookeeper的url和端口
zkURL=192.168.92.101:2181,192.168.92.102:2181,192.168.92.103:2181
#mycat在zookeeper中的节点,这个可以通过登录zkCli.sh来查看
clusterId=mycat-cluster-1
#mycat集群中实例的id,id的值不能重复
myid=mycat_01
#mycat有几个节点
clusterSize=2
#mycat集群中节点的标识名
clusterNodes=mycat_01,mycat_04
#server  booster  ;   booster install on db same server,will reset all minCon to 2
type=server
boosterDataHosts=dataHost1

在这里插入图片描述

3.2. mycat节点02
#进入mycat的安装目录
cd /app/mycat/conf/
#编辑 myid.properties配置文件#这个文件配置了mycat通过zookeeper的节点来获取mycat的配置信息

vim myid.properties

修改后:

#是否通过zookeeper启动 true是 false 否,通过zk读取配置文件
loadZk=true
# zookeeper的url和端口
zkURL=192.168.92.101:2181,192.168.92.102:2181,192.168.92.103:2181
#mycat在zookeeper中的节点,这个可以通过登录zkCli.sh来查看
clusterId=mycat-cluster-1
#mycat集群中实例的id,id的值不能重复
myid=mycat_04
#mycat有几个节点
clusterSize=2
#mycat集群中节点的标识名
clusterNodes=mycat_01,mycat_04
#server  booster  ;   booster install on db same server,will reset all minCon to 2
type=server
boosterDataHosts=dataHost1

在这里插入图片描述

3.3. 重启mycat

重启mycat,通过读取zookeeper配置文件来进行启动了
目前:mycat01节点配置文件已经配置好的,mycat02节点上的配置文件是默认的,还没有更改过的
登录mycat节点01

[root@node1 conf]# mycat stop
Stopping Mycat-server...
Stopped Mycat-server.
[root@node1 conf]# rm -rf /app/mycat/logs/*
[root@node1 conf]# mycat start
Starting Mycat-server...
[root@node1 conf]# tail -f /app/mycat/logs/wrapper.log 
STATUS | wrapper  | 2021/07/14 21:35:09 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2021/07/14 21:35:09 | Launching a JVM...
INFO   | jvm 1    | 2021/07/14 21:35:09 | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
INFO   | jvm 1    | 2021/07/14 21:35:12 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2021/07/14 21:35:12 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2021/07/14 21:35:12 | 
INFO   | jvm 1    | 2021/07/14 21:35:16 | log4j:WARN No appenders could be found for logger (io.mycat.memory.MyCatMemory).
INFO   | jvm 1    | 2021/07/14 21:35:16 | log4j:WARN Please initialize the log4j system properly.
INFO   | jvm 1    | 2021/07/14 21:35:16 | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
INFO   | jvm 1    | 2021/07/14 21:35:16 | MyCAT Server startup successfully. see logs in logs/mycat.log

在这里插入图片描述
mycat第一个节点已经启动完成!

3.4. 登录mycat节点02

启动mycat

[root@node4 conf]# mycat start
Starting Mycat-server...
Removed stale pid file: /app/mycat/logs/mycat.pid
You have new mail in /var/spool/mail/root
[root@node4 conf]# tail -f /app/mycat/logs/wrapper.log 
INFO   | jvm 1    | 2021/07/10 14:43:40 | log4j:WARN No appenders could be found for logger (io.mycat.memory.MyCatMemory).
INFO   | jvm 1    | 2021/07/10 14:43:40 | log4j:WARN Please initialize the log4j system properly.
INFO   | jvm 1    | 2021/07/10 14:43:40 | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
INFO   | jvm 1    | 2021/07/10 14:43:40 | MyCAT Server startup successfully. see logs in logs/mycat.log
STATUS | wrapper  | 2021/07/14 21:37:55 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2021/07/14 21:37:56 | Launching a JVM...
INFO   | jvm 1    | 2021/07/14 21:37:56 | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
INFO   | jvm 1    | 2021/07/14 21:37:59 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2021/07/14 21:37:59 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2021/07/14 21:37:59 | 
INFO   | jvm 1    | 2021/07/14 21:38:08 | log4j:WARN No appenders could be found for logger (io.mycat.memory.MyCatMemory).
INFO   | jvm 1    | 2021/07/14 21:38:08 | log4j:WARN Please initialize the log4j system properly.
INFO   | jvm 1    | 2021/07/14 21:38:08 | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
INFO   | jvm 1    | 2021/07/14 21:38:08 | MyCAT Server startup successfully. see logs in logs/mycat.log

在这里插入图片描述

3.5. 配置数据验证
#进入conf目录查看配置文件
cd /app/mycat/conf

#查看schema.xml
more schema.xml

在这里插入图片描述
发现,虽然,没有配置配文件,但是mycat01节点的配置文件信息同步过来了
mycat02节点配置信息哪来的呢?就是从zookeeper集群同步过来的
以后,我们只要在zookeeper修改mycat的配置文件信息,就会同步到mycat01节点和mycat02节点,这样就可以保证这2个mycat节点的配置是保持同步,一致的

下一篇:企业实战_20_MyCat使用HAPpoxy对Mycat负载均衡
https://gblfy.blog.csdn.net/article/details/100087884

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gblfy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值