1. 哨兵模式配置文件
redis服务 redis端口 哨兵端口 主从
redis-1 7001 27001 主节点
redis-2 7002 27002 从节点
redis-3 7003 27003 从节点
下载Redis
curl -O http://download.redis.io/releases/redis-6.0.6.tar.gz
解压Redis
tar xzvf redis-6.0.6.tar.gz
进入redis-6.0.6目录,执行make命令
cd redis-6.0.6
make
make install
redis的默认安装目录: /usr/local/bin
创建目录: mkdir redis-cluster/
进入目录,并创建目录,用于存放配置文件:
cd redis-cluster
mkdir redis-1 redis-2 redis-3
将redis.conf, sentinel.conf 文件 复制到刚刚新建的文件夹中执行的命令,以redis-1为例:
cp redis.conf redis-cluster/redis-1
cp sentinel.conf redis-cluster/redis-1
进入redis-1修改配置文件(直接点击文件使用记事本修改也行):
cd redis-cluster/redis-1
vi redis.conf
2. 集群的配置
配置 ./redis-1/redis.conf, 如下
protected-mode no
daemonize yes
pidfile /var/run/redis7001.pid
port 7001
logfile "7001.log"
dbfilename dump7001.rdb
配置 ./redis-2/redis.conf, 如下
protected-mode no
daemonize yes
pidfile /var/run/redis7002.pid
port 7002
logfile "7002.log"
dbfilename dump7002.rdb
配置 ./redis-3/redis.conf, 如下
protected-mode no
daemonize yes
pidfile /var/run/redis7003.pid
port 7003
logfile "7003.log"
3. 哨兵配置
进入目录,以redis-1为例:
cd redis-cluster/redis-1
配置 ./redis-1/sentinel.conf, 如下
port 27001 // 哨兵端口
daemonize yes // 开启守护进程
logfile "27001.log"
sentinel monitor mymaster 127.0.0.1 7001 2 // 监控 master ip 端口
sentinel auth-pass
配置 ./redis-2/sentinel.conf, 如下
port 27002 // 哨兵端口
daemonize yes // 开启守护进程
logfile "27002.log"
sentinel monitor mymaster 127.0.0.1 7001 2 // 监控 master ip 端口
sentinel auth-pass
配置 ./redis-3/sentinel.conf, 如下
port 27003 // 哨兵端口
daemonize yes // 开启守护进程
logfile "27003.log"
sentinel monitor mymaster 127.0.0.1 7001 3 // 监控 master ip 端口
sentinel auth-pass
4.启动
-
启动Redis
进入到redis安装目录的bin目录下,分别启动:
cd /usr/local/bin
./redis-server redis-cluster/redis-1/redis.conf
./redis-server redis-cluster/redis-2/redis.conf
./redis-server redis-cluster/redis-3/redis.conf -
设置主从关系
分别进入redis客户端
./redis-cli -p 7001
./redis-cli -p 7002
./redis-cli -p 7003
查看当前redis主机节点信息
info replication
在6302和6303客户端分别执行,完成主从关系建立
SLAVEOF 127.0.0.1 7001
3. 进入默认安装目录分别启动哨兵
cd /usr/local/bin/
./redis-sentinel redis-cluster/redis-1/sentinel.conf
./redis-sentinel /redis-cluster/redis-2/sentinel.conf
./redis-sentinel redis-cluster/redis-3/sentinel.conf
三个哨兵和三个redis都启动起来了
4. 测试:
分别进入三台redis
redis-cli -p 7001
redis-cli -p 7002
redis-cli -p 7003
查看对应的角色
info replication
7001 :
7002:
7003:与7002类似
将7001 master服务杀死
ps -ef | grep redis
kill -9 558368
最后查看节点信息,会发现7002,变成了master,7003变成了slave
大功告成 !!!!