构建读写分离数据库集群
数据库集群的安装
提示:这里用到我们之前搭建的主从数据库,
主从数据库部署:https://blog.csdn.net/Planetoid_A/article/details/108947511
这两个主从数据库节点主要作为数据库集群服务节点,我们这里需要重新搭建搭建一个主节点(将用户提交的读写操作分给相应的数据库节点)
一、节点规划
提示:我们所需要的节点规划如下
节点名称 | ip |
---|---|
mycat | 192.168.128.39 |
mysql0 | 192.168.129.40 |
mysql1 | 192.168.128.41 |
首先我们关闭三个节点的防火墙
[root@mycat /]# iptables -F | [root@mycat /]# iptables -X | [root@mycat /]# iptables -Z |
我们需要添加ip地址和主机名到三个节点的配置文件中
[root@mysql1 ~]# cat /etc/hosts
注意:三个节点都要添加
二、主节点的构建
首先,新建虚拟机,我们默认是使用CentOS-7-x86_64-DVD-1511的镜像
镜像地址:
链接:https://pan.baidu.com/s/1Myl_GXnUg7t3OR01mCuMrQ
提取码:1511
1.配置YUM
①配置ip,设置主机名
②配置yum源,这里的yum源我们用的是两个,一个是1511的本地yum源,一个是gpmall-repo本地软件包
软件包地址:
链接:https://pan.baidu.com/s/1TLj0Qg7vYah81axVBqpsJw
提取码:repo
③修改yum源配置文件,文件内容如下
[c7-Media]
name=CentOS-$releasever - Media
baseurl=file:///xiaobai/gpmall-repo #软件包yum源地址
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[centos]
name=CentOS
baseurl=file:///opt/centos #本地yum源地址
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2.安装JDK环境
①安装依赖
[root@mycat /]# yum install libjpeg* -y
②安装jdk
[root@mycat /]# yum install java-1.8.O-openjdk java-1.8.0-openjdk-devel
③查看版本,证明安装成功
[root@mycat /]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
3.mycat安装包和环境变量
首先将这个mycat安装包解压到usr下面的local目录,我在这里使用的是Mycat-server-1.6的软件包
软件包地址:
链接:https://pan.baidu.com/s/14I1UmJ1uV3nIU8YCZeXY4Q
提取码:mcat
#解压安装包
[root@mycat ~]# tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local
#修改这个文件夹权限
[root@mycat ~]# chown -R 777 /usr/local/mycat/
#添加环境变量
[root@mycat ~]# echo export MYCAT_HOME=/usr/local/mycat/ >> /etc/profile
#生效配置
[root@mycat ~]# source /etc/profile
4.修改配置文件
#修改配置文件(注意语法,可以把原来的删除,输入如下内容)
[root@mycat ~]# cat /usr/local/mycat/conf/schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="USERDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"></schema>
<dataNode name="dn1" dataHost="localhost1" database="test" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" dbType="mysql" dbDriver="native" writeType="0" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.128.40:3306" user="root" password="SICT">
<readHost host="hostS1" url="192.168.128.41:3306" user="root" password="SICT" />
</writeHost>
</dataHost>
</mycat:schema>
#修改配置文件的用户权限
[root@mycat ~]# chown root:root /usr/local/mycat/conf/schema.xml
#编辑mycat的访问用户
[root@mycat ~]# vi /usr/local/mycat/conf/server.xml
#注意,这里直接修改最后删除如下部分内容,下面这几行直接删除
这个配文件上面的都没修改,修改的地方如下图所示 ,修改了文件的最后这一点内容,SICT为数据库密码,修改成自己的,USEDB是逻辑数据库
三、启动mycat并查看端口
#启动mycat
[root@mycat ~]# /bin/bash /usr/local/mycat/bin/mycat start
#安装工具包
[root@mycat ~]# yum -y install net-tools
#查看端口,存在8066和9066说明配置成功
[root@mycat ~]# netstat -ntpl