准备两台虚拟机,
IP分别为192.168.1.17
192.168.1.234
连接xshell,搭建yum。
安装环境。
[root@bogon src]# yum -y install gcc lrzsz vim
[root@bogon src]# rz 上传至虚拟机
[root@bogon src]# ls
redis-3.2.8.tar.gz
安装Redis。
[root@bogon src]# mkdir -p /data/server
[root@bogon src]# tar zxf redis-3.2.8.tar.gz -C /data/server/
[root@bogon src]# cd /data/server/redis-3.2.8/
[root@bogon redis-3.2.8]# make
[root@bogon redis-3.2.8]# cd src/
[root@bogon src]# make install
新建目录。
[root@bogon src]# cd ..
[root@bogon redis-3.2.8]# mkdir redis_cluster/
[root@bogon redis-3.2.8]# cd redis_cluster/
[root@bogon redis_cluster]# mkdir 6379 6380
在主机192.168.1.17中。
复制配置文件。
[root@bogon redis_cluster]# cp ../redis.conf 6379/
[root@bogon redis_cluster]# cp ../redis.conf 6380/
[root@bogon redis_cluster]# cp ../sentinel.conf 6380
修改配置文件。
[root@bogon redis_cluster]# vim 6379/redis.conf
bind 192.168.1.17
protected-mode yes
port 6379
daemonize yes
supervised no
pidfile "/var/run/redis_6379.pid"
dir ./
slave-priority 25
[root@bogon redis_cluster]# vim 6380/redis.conf
bind 192.168.1.17
protected-mode yes
port 6380
daemonize yes
supervised no
pidfile "/var/run/redis_6380.pid"
slaveof 192.168.1.17 6379
slave-priority 100
[root@bogon redis_cluster]# vim 6380/sentinel.conf
protected-mode no
daemonize yes
port 26379
dir "/tmp"
sentinel monitor mymaster 192.168.1.17 6379 2
在192.168.1.234中。
复制配置文件。
[root@localhost redis_cluster]# cp ../redis.conf 6379/
[root@localhost redis_cluster]# cp ../redis.conf 6380/
[root@localhost redis_cluster]# cp ../sentinel.conf 6380/
[root@localhost redis_cluster]# cp ../sentinel.conf 6379/
[root@localhost redis_cluster]# vim 6379/redis.conf
bind 192.168.1.234
protected-mode yes
port 6379
daemonize yes
pidfile "/var/run/redis_6379.pid"
slaveof 192.168.1.17 6379
slave-priority 25
[root@localhost redis_cluster]# vim 6379/sentinel.conf
protected-mode no
daemonize yes
port 26379
dir "/tmp"
sentinel monitor mymaster 192.168.1.17 6379 2
[root@localhost redis_cluster]# vim 6380/redis.conf
bind 192.168.1.234
protected-mode yes
port 6380
daemonize yes
supervised no
pidfile "/var/run/redis_6380.pid"
slaveof 192.168.1.17 6379
slave-priority 100
[root@localhost redis_cluster]# vim 6380/sentinel.conf
protected-mode no
daemonize yes
port 26379
dir "/tmp"
sentinel monitor mymaster 192.168.1.17 6379 2
开启所有的服务和哨兵。
在192.168.1.17中。
[root@bogon 6380]# cd ../6379/
[root@bogon 6379]# redis-server redis.conf
[root@bogon 6379]# cd ../6380/
[root@bogon 6380]# redis-server redis.conf
[root@bogon 6380]# redis-sentinel sentinel.conf
在192.168.1.234中。
[root@localhost 6380]# cd ../6379/
[root@localhost 6379]# redis-server redis.conf
[root@localhost 6379]# redis-sentinel sentinel.conf
[root@localhost 6379]# cd ../6380/
[root@localhost 6380]# redis-server redis.conf
[root@localhost 6380]# redis-sentinel sentinel.conf
关闭防火墙,降低沙盒。
[root@bogon 6380]# systemctl stop firewalld
[root@bogon 6380]# setenforce 0
查看 192.168.1.17。
[root@bogon 6380]# ps aux | grep redis
[root@bogon 6380]# netstat -tuplan | grep redis
查看 192.168.1.234。
[root@localhost 6380]# ps aux | grep redis
[root@localhost 6380]# netstat -tuplan | grep redis
在192.168.1.17上验证。
[root@bogon 6380]# redis-cli -h 192.168.1.17
192.168.1.17:6379> info replication
#Replication
role:master
connected_slaves:3
slave0:ip=192.168.1.17,port=6380,state=online,offset=231925,lag=0
slave1:ip=192.168.1.234,port=6379,state=online,offset=231925,lag=0
slave2:ip=192.168.1.234,port=6380,state=online,offset=231925,lag=0
master_repl_offset:231925
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:231924
192.168.1.17:6379> quit
杀死主机。
[root@bogon 6380]# kill 23780
查看。
[root@localhost 6380]# redis-cli -h 192.168.1.234
192.168.1.234:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.234,port=6380,state=online,offset=5723,lag=1
slave1:ip=192.168.1.17,port=6380,state=online,offset=5723,lag=1
master_repl_offset:5864
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:5863
192.168.1.234:6379> quit
杀死备主,并开启主机。
[root@localhost 6380]# kill 23339
[root@localhost 6380]# cd ../6379/
[root@localhost 6379]# redis-server redis.conf
[root@localhost 6380]# redis-cli -h 192.168.1.234 -p 6380
192.168.1.234:6380> info replication
Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.17,port=6380,state=online,offset=161207,lag=1
slave1:ip=192.168.1.234,port=6379,state=online,offset=161207,lag=1
master_repl_offset:161207
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:161206
192.168.1.234:6380> quit