centos双机热备 数据库主从相互备份(中):https://blog.csdn.net/Berzingou/article/details/82026815
安装包及相关文件下载:https://pan.baidu.com/s/1Zgx3hRB400JFLIGHPVdtJA 密码:gg8x
操作系统 centos(版本7.2 位数64位)
keepalived版本 keepalived-1.2.13
将软件安装包上传到两台服务器各自的/home目录下(两台服务器各有一份)
上传后/home目录详情:
实验拓扑图:
实验环境:
一、安装keepalived(两台服务器都要安装)
1.安装keepalived所需工具包
yum -y install kernel-devel openssl-devel popt-devel #工具包
cd /home #进入home目录
tar -xvf keepalived-1.2.13.tar.gz -C /usr/local #将home目录下的keepalived软件解压到/usr/local目录下
cd /usr/local #进入/usr/local目录
cd keepalived-1.2.13/ #进入keepalived目录
yum -y install ipvsadm #安装ipvsadm工具
yum install gcc-c++ #gcc环境安装 中间有询问 按y后直接回车就好
2.编译安装:keepalived
./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make && make install
3.添加为系统服务
chkconfig --add keepalived
chkconfig keepalived on
再次强调 keepalived两个服务器都需要安装
二、配置主服务器(192.168.3.13)
1.修改keepalived配置文件
echo "" > /etc/keepalived/keepalived.conf #清空keepalived.conf中的内容
查看网卡名称 ls/etc/sysconfig/network-scripts/ifcfg-* (我们这里的网卡名称就是eno16777736)
vim /etc/keepalived/keepalived.conf #开始修改(配置文件中的选项interface就是前面查询出的网卡名称)
global_defs { ##全局参数配置
notification_email { ##联系邮箱
[email protected] ##lemon1是我的主机名 你设置成你自己的就好
}
notification_email_from [email protected] ##邮件发件人相关设置
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id master ##当前服务器是主服务器
}
vrrp_instance VI_1 { ##定义vrrp热备实例
state MASTER ##热备状态 MASTER表示主服务器
interface eno16777736 ##网卡名称
virtual_router_id 51 ##虚拟路由器的ID号 每个热备组保持一致
priority 100 ##优先级 数值越大优先级越高 我这里主服务器设置为100从服务器设置为50
advert_int 1 ##通知间隔秒数(心跳频率)
authentication { ##认证信息 每个热备组保持一致
auth_type PASS ##认证类型
auth_pass 1111 ##密码字串
}
virtual_ipaddress { ##指定虚拟地址(VIP) 可以有多个
192.168.3.110 ##虚拟ip最后三位可以随便指定的 但主从服务器虚拟ip要保持一致
##虚拟ip前面的部分(192.168.3)是和你主从服务器前面的保持一致
}
}
2.启动服务 查看虚拟ip
service keepalived start #启动keepalived服务
ip addr #查看虚拟ip
三、配置备用服务器(192.168.3.14)
1.修改keepalived配置文件
echo "" > /etc/keepalived/keepalived.conf #清空文件
vim /etc/keepalived/keepalived.conf #配置文件
global_defs {
notification_email {
[email protected] ##这个改成你自己的就好
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id backup ##当前服务器是备用服务器
}
vrrp_instance VI_1 {
state BACKUP ##热备状态 BACKUP表示备用服务器
interface eno16777736 ##网卡名称
virtual_router_id 51
priority 50 ##优先级和主服务器不同
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.3.110 ##虚拟ip(要和主服务器的虚拟ip保持一致)
}
}
将两台服务器防火墙切换为iptables 让VRRP组播其通过防火墙 启动服务
1)、关闭firewall:
service firewalld stop
systemctl disable firewalld.service #禁止firewall开机启动
2)、安装iptables防火墙
yum install iptables-services #安装
3)、编辑iptables防火墙配置
vim /etc/sysconfig/iptables #编辑防火墙配置文件
将 -A INPUT -p vrrp -j ACCEPT 加入到配置文件中
service iptables restart(service restart iptables) #重启
systemctl enable iptables.service #设置防火墙开机启动
service keepalived start #启动服务
iptables -I INPUT -p ip -d 224.0.0.18 -j ACCEPT #将ip加入防火墙白名单
service iptables save #保存
查看备用服务器是否有虚拟ip(主服务器正常运行的时候备用服务器是没有虚拟ip的)
ip addr
四、测试双机热备
1.使用windows的cmd命令行 ping一下虚拟地址(我们这里设置的是192.168.3.101)
我们再次查看主服务器和备用服务器的ip情况
主服务器此时拥有虚拟ip
而备用服务器是没有虚拟ip的
2.现在我们重启主服务器
reboot #重启主服务器
此时我们看到的现象是客户端ping会先断开一下 然后又能正常ping通
其实就是keepalived监测到了主服务器连接不上了 于是就将请求切到了备用服务器上
此时虚拟ip也会漂移到备用服务器上
到此我们就用keepalived实现了双机热备
一、卸载系统自带jdk
rpm -qa | grep java #查看当前系统是否已经安装java
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 #卸载系统自带jdk
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
rpm -qa | grep java #查看是否卸载成功
二、解压jdk安装包
mkdir /usr/local/java #创建java文件夹
cd /home #进入jdk安装包所在目录
ls #查看是否有jdk安装包
tar -xvf jdk-8u181-linux-x64.tar.gz -C /usr/local/java #解压jdk安装包到/usr/local/java目录
cd /usr/local/java #进入java目录
ls #查看jdk是否成功解压
三、配置java环境
vim /etc/profile #开始配置java环境
将如下内容配置到profile文件中
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_181
JRE_HOME=/usr/local/java/jdk1.8.0_181/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
source /etc/profile #使配置文件生效
java -version #查看是否配置成功
一、解压安装包
cd /home #进入home目录
ls #查看tomcat安装包是否存在
tar -xvf apache-tomcat-8.5.20.tar.gz -C /usr/local #解压文件到/usr/local目录
cd /usr/local #进入local目录
ls #查看tomcat安装包是否成功解压
mv apache-tomcat-8.5.20/ tomcat #修改文件夹apache-tomcat-8.5.20名字为tomcat
ls #查看是否修改成功
二、开放8080端口
vim /etc/sysconfig/iptables #进入防火墙配置文件
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT #在配置文件中加入此行内容(开放8080端口)
service iptables restart #重启防火墙
设置tomcat开机自启动
cd /etc/rc.d/
chmod +x rc.local #赋予rc.local以执行权限
vim /etc/rc.d/rc.local #编辑开机自启动文件
加入以下配置:
# 配置tomcat自启动
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
/usr/local/tomcat/bin/startup.sh
三、运行tomcat
cd tomcat/bin #进入tomcat下的bin目录
ls #可以看到启动服务和停止服务的脚本
./startup.sh #启动tomcat服务
使用主机ip(192.168.3.13:8080)进行访问
备用服务器的tomcat配置同理
一、清除系统自带mysql 安装依赖
yum remove mysql mysql-server mysql-libs mysql-server; #卸载系统自带mysql
find / -name mysql #将找到的mysql文件夹都delete掉
yum install perl-Data-Dumper.x86_64 安装perl
yum install net-tools 安装net-tools
二、安装mysql
mkdir /usr/local/mysql #新建mysql文件夹
cd /home #进入home目录
ls #查看目录内容
cp MySQL-server-5.7.4_m14-1.el6.x86_64.rpm MySQL-client-5.7.4_m14-1.el6.x86_64.rpm /usr/local/mysql #拷贝文件到mysql目录
cd /usr/local/mysql #进入mysql文件夹
ls #查看文件夹是否有刚才拷贝进来的文件
rpm -ivh MySQL-server-5.7.4_m14-1.el6.x86_64.rpm #安装mysql服务端
rpm -ivh MySQL-client-5.7.4_m14-1.el6.x86_64.rpm #安装mysql客户端
三、将mysql加到系统服务中并设置开机启动
chkconfig --add mysql #加入到系统服务
chkconfig mysql on #自动启动
四、修改mysql初始密码
service mysql start #启动mysql服务
cat /root/.mysql_secret #查看并复制mysql初始密码
mysql -u root -p #登录mysql
粘贴刚才的查看的密码
成功登录!
set password = password('123456'); #修改mysql初始密码为123456
五、开启远程登录权限
保持mysql是登录状态 输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by '123456'; #开启远程登录mysql的权限
flush privileges; #刷新mysql系统权限相关表
输入exit退出mysql
vim /etc/sysconfig/iptables #进入防火墙配置文件
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #在配置文件中加入此行内容(用来开放3306端口)
service iptables restart #重启防火墙
使用navicat远程连接数据库
备用服务器配置同理
centos双机热备 数据库主从相互备份(中):https://blog.csdn.net/Berzingou/article/details/82026815