tar zxvf SLSaleSystem.tar.gz -C /usr/local/tomcat8/webapps/ #将会员商城的软件包解压至Tomcat的站点目录下
cd /usr/local/tomcat8/webapps/SLSaleSystem/WEB-INF/classes/
vim jdbc.properties #修改数据库IP地址为VRRP虚拟地址,以及授权用户root和密码123456
tomcatdown
tomcatup #重新启动Tomcat服务让配置文件生效
#通过虚拟IP访问商城
四 部署Redis群集(在主服务器和从服务器上做)
yum install epel-release -y #使用centos7.4 默认源安装
yum install redis -y
vim /etc/redis.conf #修改Redis主配置文件
bind 0.0.0.0
systemctl start redis.service #开启Redis服务
netstat -ntap | grep 6379 #查看监听端口
redis-cli -h 192.168.199.129 -p 6379 #在主服务器上测试连接
192.168.199.129:6379> set name test #设置name,值是test
OK
192.168.199.129:6379> get name #获取name值
"test"
接着在从服务器上也是进行同样的部署
在从服务器上需要在配置文件中多加如下这句话,将地址指向主服务器
systemctl start redis.service #开启从服务器的Redis
redis-cli -h 192.168.199.130 -p 6379 #登录Redis
192.168.199.130:6379> get name #查看name值
"test" #数据会从主服务器上同步
在两台Tomcat节点服务器配置商城项目中的连接redis的参数
vim /usr/local/tomcat8/webapps/SLSaleSystem/WEB-INF/classes/applicationContext-mybatis.xml
38 <!--redis 配置 开始-->
47 <constructor-arg value="192.168.199.188"/>
48 <constructor-arg value="6379"/>
测试缓存效果
redis-cli -h 192.168.199.188 -p 6379
192.168.199.188:6379> info
keyspace_hits:1 #命中数
keyspace_misses:0 #未命中数
以下配置redis集群主从切换----只在主服务器上操作
redis-cli -h 192.168.199.129 info Replication
#Replication
role:master
connected_slaves:1
slave0:ip=192.168.199.130,port=6379,state=online,offset=1541,lag=1
master_repl_offset:1541
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:1540
vim /etc/redis-sentinel.conf
17 protected-mode no
69 sentinel monitor mymaster 192.168.199.129 6379 1 #1表示有一台从服务器
98 sentinel down-after-milliseconds mymaster 3000
systemctl start redis-sentinel.service #启动集群
netstat -ntap | grep 26379
systemctl start redis-sentinel.service #在从服务器上启动集群
netstat -ntap | grep 26379
redis-cli -h 192.168.199.129 -p 26379 info Sentinel #再次在主服务器上进行查看
#Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.199.129:6379,slaves=1,sentinels=2
验证主从切换
在主上
systemctl stop redis
redis-cli -h 192.168.199.129 -p 26379 info Sentinel
#Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.199.130:6379,slaves=1,sentinels=3 #主服务器进行了切换,如果再次开启主服务器,角色并不会切换,除非关掉从服务器
验证数据同步情况:
在主服务器上:
redis-cli -h 192.168.199.129 -p 6379
192.168.199.129:6379> set name2 test2
OK
192.168.199.129:6379> get name2
"test2"