一、前期准备工作

1. 需要两台银河麒麟V10 SP2服务器,配置如下

服务器名

IP地址

操作系统

应用软件

redis1

192.168.174.128

Kylin Linux Advanced Server release V10 (SP2)

redis

redis2

192.168.174.181

Kylin Linux Advanced Server release V10 (SP2)

redis

二、主从服务器上安装部署redis

1. 主服务器上部署redis

cd /usr/local
wget https://download.redis.io/releases/redis-6.2.7.tar.gz
tar -xvzf redis-6.2.7.tar.gz
cd /usr/local/redis-6.2.7
make && make install PREFIX=/usr/local/redis-6.2.7
/usr/local/redis-6.2.7/bin/redis-server  /usr/local/redis-6.2.7/redis.conf &
这样主服务器1上单机版的redis就安装好了。

2. 从服务器上部署redis

cd /usr/local
wget https://download.redis.io/releases/redis-6.2.7.tar.gz
tar -xvzf redis-6.2.7.tar.gz
cd /usr/local/redis-6.2.7
make && make install PREFIX=/usr/local/redis-6.2.7
/usr/local/redis-6.2.7/bin/redis-server  /usr/local/redis-6.2.7/redis.conf &
这样从服务器2上单机版的redis就安装好了。

3. 关闭主从redis单机服务

 

4. 修改主服务器上redis.conf和sentinel.conf配置文件

4.1 修改主服务器的redis.conf配置文件

[root@redis1 ~]# vim /usr/local/redis-6.2.7/redis.conf
bind 192.168.174.128
daemonize yes 
logfile "/var/log/redis.log" 
masterauth "123456"  # 其它redis视我为master时的验证密码 
requirepass "123456" # 本机redis的登录密码 
maxmemory 100mb

4.2 修改主服务器的sentinel.conf哨兵配置文件

[root@redis1 ~]# vim /usr/local/redis-6.2.7/sentinel.conf
bind 192.168.174.128
sentinel monitor mymaster 192.168.174.128 6379 2
sentinel auth-pass mymaster 123456
logfile "/var/log/sentinel.log"
daemonize yes

5. 修改从服务器上redis.conf和sentinel.conf配置文件

5.1 修改从服务器的redis.conf配置文件

[root@redis2 ~]# vim /usr/local/redis-6.2.7/redis.conf
bind 192.168.174.181
daemonize yes 
logfile "/var/log/redis.log" 
masterauth "123456"  # 其它redis视我为master时的验证密码 
requirepass "123456" # 本机redis的登录密码 
maxmemory 100mb
slaveof 192.168.174.128 6379

5.2 修改从服务器的sentinel.conf哨兵配置文件

[root@redis2 ~]# vim /usr/local/redis-6.2.7/sentinel.conf
bind 192.168.174.181
sentinel monitor mymaster 192.168.174.128 6379 2
sentinel auth-pass mymaster 123456
logfile "/var/log/sentinel.log"
daemonize yes

6. 测试主从数据同步

首先启动主从redis服务,在主从服务器上执行
/usr/local/redis-6.2.7/bin/redis-server  /usr/local/redis-6.2.7/redis.conf 

6.1 查看主服务器上状态,并在主redis上设置变量,并赋值。

6.2 查看从服务器状态,在从服务器上获取变量值,发现和主服务一致,说明主从已同步

7. 测试主从服务器切换

在主从服务器上,分别启动哨兵服务
/usr/local/redis-6.2.7/bin/redis-sentinel  /usr/local/redis-6.2.7/sentinel.conf 

7.1 关闭主服务器上的redis服务

7.2 登录从服务器上查看状态,看是否从服务器变为主服务器 

7.3 然后再启动原来主服务器上的redis服务,查看状态,发现原来的主服务器变为从服务器,而且可以自动同步新master服务器上redis数据,说明主从已经切换。

总结如下:

1.  通过设置从服务器配置文件:slaveof 192.168.174.128 6379 ,实现主从数据同步

2.  通过设定哨兵模式:实现主从服务器自动切换,而且重新启动宕掉的服务器,数据可以同步

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐