本文欢迎转载,转载请注明出处和作者。
理论部分,详见《【理论研究】业务系统高可用及负载均衡》。
本篇主要实现“8、Mysql读写分离”,需要在上一篇主主复制建立完成的基础上。
1、安装JDK7
解压jdk7(自行下载,并且上传)
tar -zxvf jdk-7u80-linux-x64.tar.gz
mkdir /usr/java
mv jdk1.7.0_80/ /usr/java/jdk17
由于centos一般安装完会自带java,所以直接修改环境变量还是没有办法更新版本,因此需要进行多版本选择。
alternatives --install /usr/bin/java java /usr/java/jdk17/bin/java 3
将java7加入系统,如果复制粘贴不行,请先复制进文本文档再尝试
alternatives --config java
选择主用java,然后输入3,按回车。
修改环境变量,编辑环境变量文件
vi /etc/profile
在文本内容的最后面,添加如下内容:
export JAVA_7_HOME=/usr/java/jdk17
export JAVA_HOME=$JAVA_7_HOME
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
按wq保存退出。
source /etc/profile
重新加载环境变量
java -version
javac -version
分别测试,如果两个都显示现在版本是java1.7.0_80,则证明安装成功。如果其中1个,例如javac -version显示出错,那就证明未安装好。
2、安装Mycat
实际生产中,应该考虑采用单独的1台机器,安装MyCat,然后配置读写分离将访问数据库的流量分发到Mysql01、02。WEB服务器的配置文件指向MyCat服务器。
但是MyCat服务器会单点故障,所以可以配置2台MyCat,然后再配置Keepalived做高可用/负载均衡,将WEB服务器的配置文件指向MyCat的高可用/负载均衡集群VIP。
实际生产的Mysql可能不止2台,为了后面可以横向扩容Mysql服务器增加读的性能,所以可能会有多台数据库服务器,而如果Mycat安装在了其中2台数据库服务器上,一旦这2台数据库服务器崩溃,整个数据库集群就崩溃,是不妥当的,所以应该单独部署