redis-主从复制+哨兵
集群结构
主-10.27.3.110
安装redis
# 解压
tar xzf redis-5.0.10.tar.gz
# 进入解压后的目录
cd redis-5.0.10
# 安装
yum install -y gcc-c++
# 执行make命令
make
# 执行
make install
# redis默认的安装路径:
cd /usr/local/bin
修改配置文件
文件路径需要提前创建
# bind 127.0.0.1 # 注释掉该项,否则只有本机能访问。
port 16379 # 分配一个没有被占用的端口
daemonize yes # 设置后台启动,日志会输出到下面指定的logfile
pidfile /var/run/redis_16379.pid # 命名取选用的port,保持可读性
logfile "/usr/local/redis/logs/redis.log" # redis服务日志文件路径
dir /usr/local/redis/data # redis数据文件路径
# 这个并没有添加
requirepass bcms123456 # 设置访问密码,配合默认的protected-mode yes项,也可以关闭该项后不设置
相关命令
# 启动
redis-server /usr/local/redis/redis.conf
# 关闭
redis-cli -p 16379 shutdown
# 进入
redis-cli -p 16379 -a <密码>
# 压缩
tar cf redis-5.0.10.tar ./redis
从-10.27.3.111
直接复制 redis-5.0.10.tar 到从机
# 解压
tar xf redis-5.0.10.tar
修改redis.conf
port 16376
replicaof 10.27.3.110 16379 # 声明主节点,旧的版本是slaveof配置,两者等价
masterauth 123456 # 配置主节点访问密码,若主节点开启则配置否则忽略
修改sentinel.conf
【文件路径没有需要提前创建】
port 26391 # 分配一个没有被占用的端口
daemonize yes # 设置后台启动,日志会输出到下面指定的logfile
logfile "/usr/local/redis/logs/sentinel.log" # redis-sentinel服务日志文件路径
sentinel monitor mymaster 10.27.3.110 16379 1
# mymaster是哨兵服务对主节点的默认起名,通常不用修改也不必修改
# 主节点的ip 端口信息
# 1代表1个哨兵认为主节点挂了就主从切换
启动
# 启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
# 启动sentinel
/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel.conf
从-10.27.3.112
直接复制 redis-5.0.10.tar 到从机
# 解压
tar xf redis-5.0.10.tar
修改redis.conf
port 16377
replicaof 10.27.3.110 16379 # 声明主节点,旧的版本是slaveof配置,两者等价
masterauth 123456 # 配置主节点访问密码,若主节点开启则配置否则忽略
修改sentinel.conf
【文件路径没有需要提前创建】
port 26391 # 分配一个没有被占用的端口
daemonize yes # 设置后台启动,日志会输出到下面指定的logfile
logfile "/usr/local/redis/logs/sentinel.log" # redis-sentinel服务日志文件路径
sentinel monitor mymaster 10.27.3.110 16379 1
# mymaster是哨兵服务对主节点的默认起名,通常不用修改也不必修改
# 主节点的ip 端口信息
# 1代表1个哨兵认为主节点挂了就主从切换
启动
# 启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
# 启动sentinel
/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel.conf