系统及redis版本:
- Ubuntu 20.04.1
- redis 4.0.9
redis安装
安装gcc
sudo apt update
sudo apt install build-essential
创建目录
mkdir -p /r40
mkdir -p /r40/install
mkdir -p /r40/redis
下载redis4.0
cd /r40/install
wget https://download.redis.io/releases/redis-4.0.9.tar.gz
解压压缩包
tar xzf redis-4.0.9.tar.gz
移动文件至/r40/redis目录
mv redis-4.0.9/* /r40/redis/
进入/r40/redis目录
cd /r40/redis
编译
make MALLOC=libc
安装
make install
修改配置文件
vi redis.conf
注释bind参数,将 protected-mode参数改为no
#bind 127.0.0.1
protected-mode no
指定配置文件启动redis服务
redis-server redis.conf
查看服务状态
ps -ef |grep redis-server
连接redis
redis-cli -h192.168.x.x -p 6379
测试联通性
redis-cli -h192.168.x.x -p 6379 ping
返回pong,即为成功
配置主从
修改从的配置文件
vi redis.conf
增加slaveof参数,改为主节点的IP与端口
slaveof 192.168.x.x 6379
重启从节点
redis-cli shutdown
redis-server redis.conf
查看主从关系
redis-cli -h 192.168.x.x info replication
配置哨兵
创建错误日志目录
mkdir -p /r40/redis/data
mkdir -p /r40/redis/data/sentinel
复制sentinel配置文件(文件在/r40/redis目录下)
cp sentinel.conf sentinel-26379.conf
编辑sentinel配置文件
vi sentinel-26379.conf
添加修改的参数如下:
bind 0.0.0.0
port 26379
daemonize yes
dir "/r40/redis/data/sentinel"
pidfile "/r40/redis/data/sentinel/sentinel-26379.pid"
logfile "/r40/redis/data/sentinel/sentinel-26379.log"
sentinel monitor mymaster 192.168.x.x 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
pidfile "/r40/redis/data/sentinel/sentinel-26379.pid"
表示sentinel-26379的pid文件存储在/r40/redis/data/sentinel/目录下,这里文件名称与sentinel节点名称一致,logfile同理
sentinel monitor mymaster 192.168.x.x 6379 2
表示sentinel监控192.168.x.x:6379这个主节点,2表示主节点失败至少需要2个sentinel节点同意
同理再复制出两个sentinel配置文件,取名为sentinel-26380、sentinel-26381,注意port、pidfile、logfile这几个参数需要修改
启动哨兵
redis-sentinel sentinel-26379.conf
redis-sentinel sentinel-26380.conf
redis-sentinel sentinel-26381.conf
查看哨兵信息
redis-cli -h 192.168.x.x -p 26379 info sentinel
检查哨兵进程
ps -ef |grep sentinel
关闭哨兵
pkill redis-sentinel
或直接kill掉单个哨兵