环境-OS:Centos7.2 IP地址:192.168.146.100
Centos7.2 IP地址:192.168.146.110
下载redis源码包(146.100操作)
[root@master ~]# wget http://download.redis.io/releases/redis-3.2.3.tar.gz
[root@master ~]# tar zxf redis-3.2.3.tar.gz
[root@master ~]# cd redis-3.2.3/
[root@master redis-3.2.3]# make && make install
切换到utils目录下,执行redis初始化脚本 install_server.sh (默认回车即可)如下:
通过上面图片我们可以看到redis的主配置位置以及日志位置等信息。现在我们需要使用systemd所以需要在/etc/systems/system下创建一个单位文件名字redis_6379.servicer如下:
[root@slave redis-3.2.3]# vi /etc/systemd/system/redis_6379.service
[root@slave redis-3.2.3]# cat /etc/systemd/system/redis_6379.service
[Unit]
Description=Redis on port 6379
[Service]
Type=forking
ExecStart=/etc/init.d/redis_6379 start
ExecStop=/etc/init.d/redis_6379 stop
[Install]
WantedBy=multi-user.target
启动redis
[root@master utils]# systemctl daemon-reload
[root@master utils]# systemctl enable redis_6379.service
[root@master utils]# systemctl start redis_6379.service
[root@master utils]# systemctl status redis_6379.service
从上图可以看出redis正在运行,默认监听的是127.0.0.1的6379端口(测试中可选择关闭防火墙)
[root@master utils]# systemctl stop firewalld
[root@master utils]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2018-01-01 14:51:04 CST; 7s ago
Main PID: 945 (code=exited, status=0/SUCCESS)
Jan 01 14:13:22 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jan 01 14:13:28 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Jan 01 14:51:01 master systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jan 01 14:51:04 master systemd[1]: Stopped firewalld - dynamic firewall daemon.
设置redis监听地址,添加监听主机
[root@master utils]# vim /etc/redis/6379.conf
修改:bind 127.0.0.1 192.168.146.100 6379
重启redis服务,查看监听IP地址是否修改成功
[root@master utils]# systemctl restart redis_6379.service
[root@master utils]# netstat -anput | grep redis
tcp 0 0 192.168.146.100:6379 0.0.0.0:* LISTEN 30049/redis-server
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 30049/redis-server
配置完成之后我们启动redis并进行操作
[root@master utils]# redis-cli -h 192.168.146.100 -p 6379
192.168.146.100:6379> keys *
(empty list or set)
192.168.146.100:6379> set name yankerp
OK
192.168.146.100:6379> get name
"yankerp"
192.168.146.100:6379>
关于redis-cli -h 192.168.146.100 -p 6379 这条命令连接redis服务器,IP地址是192.168.146.100 端口是6379
keys *是查看redis所有的键值对。
set name yankerp添加一个键值name,内容为yankerp。
get name查看name这个键值的内容。
环境描述:
主redis-IP地址:192.168.146.100
从redis-IP地址:192.168.146.110
从redis安装步骤和redis主是一样的,可以参考上面过程。提示:(在安装从redis的时候的端口设置为6380即可)如下:
安装从redis注意1:
安装redis从需要注意的配置如上,我这边已经安装好了也启动成功。
[root@slave utils]# netstat -anput | grep redis
tcp 0 0 127.0.0.1:6380 0.0.0.0:* LISTEN 28653/redis-server
一、主从配置
修改从redis配置文件redis.conf中的port6379改为6380,添加监听本机地址192.168.146.110,添加slaveof 192.168.146.100 6379如下:
配置成功后,重启redis服务(关闭从redis防火墙)
测试数据同步
主redis:
[root@master utils]# redis-cli -h 192.168.146.100 -p 6379
192.168.146.100:6379> set a 1
OK
192.168.146.100:6379> set b 2
OK
192.168.146.100:6379> set c 3
OK
192.168.146.100:6379> set d 4
OK
192.168.146.100:6379> set e 5
OK
192.168.146.100:6379> set F 2018
OK
192.168.146.100:6379> keys *
1) "b"
2) "e"
3) "F"
4) "a"
5) "name"
6) "c"
7) "d"
192.168.146.100:6379> get F
"2018"
从redis查看数据已经同步过来了
[root@slave utils]# redis-cli -h 192.168.146.110 -p 6380
192.168.146.110:6380> keys *
1) "e"
2) "name"
3) "a"
4) "c"
5) "F"
6) "b"
7) "d"
192.168.146.110:6380> get F
"2018"
但是我们在从redis主机上添加一个键值PPP内容为.yankerp如下:
二、主从切换
2、从redis设成主的redis(从redis服务器操作)
[root@slave utils]# redis-cli -p 6380 slaveof NO ONE
OK
3、接下来测试从redis主机是否切换成主redis如下:
[root@slave utils]# redis-cli -p 6380
127.0.0.1:6380> set PPP yankerp
OK
127.0.0.1:6380> get PPP
"yankerp"
在这里我们可以看到从redis主机能写入
4、原来的主redis恢复正常,重新切换回去
1)将现在的主redis的数据进行保存(192.168.146.110)操作
[root@slave utils]# redis-cli -h 192.168.146.110 -p 6380
192.168.146.110:6380> get PPP
"yankerp"
192.168.146.110:6380> save
OK
2)将现在主的redis根目录下的dump.rdb文件拷贝覆盖掉原来主redis的根目录(146.110)操作
[root@slave ~]# redis-cli -p 6380 slaveof 192.168.146.100 6379
OK
最后再次测试(主redis)
到这里主从同步以及主从切换完成
祝大家元旦节快乐!
希望对您有所帮助,再见~