文章目录
- 前言
- 一、Redis主从复制配置
- 1.1.配置文件redis_master.conf,redis_slave.conf
- 1.2.启动服务
- 1.3.检查成果
- 二、Redis集群配置
- 2.1.服务器40.240.34.91集群配置
- 2.2.其它服务器xxx.92,xxx.93集群配置
- 2.3.启动服务
- 2.3.启动集群服务
- 2.4.检查成果
- 三、优劣
- 四、结束
前言
提示:本文主讲两种redis数据同步形式,1.主从复制配置 2.集群配置
一、Redis主从复制配置
假设只有一台服务器,配置主从结构, 服务器IP为40.240.34.91
1.1.配置文件redis_master.conf,redis_slave.conf
- 主节点,端口6379
# 服务端口
port 6379
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6379.pid
logfile redis_6379.log
dir ./
# 设置从节点只读
replica-read-only yes
# 持久化配置
appendonly no # 持久化,生产可设值yes
protected-mode yes # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1 # 所有IP可连接,也有如配置bind 0.0.0.0
- 从节点,端口6380
# 服务端口
port 6380
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6380.pid
logfile redis_6380.log
dir ./
# 设置从节点只读
replica-read-only yes
# 绑定主从节点从属关系(集群模式非此形式绑定关系,这行要注释掉)
replicaof 127.0.0.1 6379
# 持久化配置
appendonly no # 持久化,生产可设值yes
protected-mode yes # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1 # 所有IP可连接,也有如配置bind 0.0.0.0
1.2.启动服务
# 启动主节点服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
# 启动从节点服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
1.3.检查成果
->redis-cli -h 40.240.34.91 -p 6379|6380
# 节点状态
info replication
# 补充一个只是知识点,当在配置文件中忘记绑定从属关系,可以在进入redis服务后使用命令replicaof 127.0.0.1 6379重新绑定# 关停主节点服务
redis-cli -p 6379 shutdown
二、Redis集群配置
假设有三台服务器,配置3主3从集群机构, 服务器IP为40.240.34.91, 40.240.34.92, 40.240.34.93
2.1.服务器40.240.34.91集群配置
- 主节点,端口6379
# **redis_master.conf**# 服务端口
port 6379
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6379.pid
logfile redis_6379.log
dir ./
# 设置从节点只读
replica-read-only yes
# 持久化配置
appendonly no # 持久化,生产可设值yes
protected-mode yes # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1 # 所有IP可连接,也有如配置bind 0.0.0.0
# 集群模式(主从复制配置,不需要开启集群模式)
cluster-enabled yes # 集群模式(yes开启no关闭)
cluster-config-file nodes-6379.conf # 集群节点配置文件
cluster-node-timeout 5000 # 节点超时时间
- 从节点,端口6380
# **redis_slave.conf**# 服务端口
port 6380
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6380.pid
logfile redis_6380.log
dir ./
# 设置从节点只读
replica-read-only yes
# 绑定主从节点从属关系(集群模式非此形式绑定关系,这行要注释掉)
# replicaof 127.0.0.1 6379# 持久化配置
appendonly no # 持久化,生产可设值yes
protected-mode yes # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1 # 所有IP可连接,也有如配置bind 0.0.0.0
# 集群模式(主从复制配置,不需要开启集群模式)
cluster-enabled yes # 集群模式(yes开启no关闭)
cluster-config-file nodes-6379.conf # 集群节点配置文件
cluster-node-timeout 5000 # 节点超时时间
2.2.其它服务器xxx.92,xxx.93集群配置
将40.240.34.91的文件redis_master.conf, redis_slave.conf分别复制到服务器xxx.92, xxx.93上,注意文件路径,机器host可能不一致
2.3.启动服务
# 服务器40.240.34.91的主从服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
# 服务器40.240.34.92的主从服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
# 服务器40.240.34.93的主从服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
2.3.启动集群服务
# 创建集群时自动分配主从关系(前三个是主节点,后三个是从节点)
# --cluster-replicas 1 表示每个主节点有 1 个从节点,集群会自动分配主从关系
redis-cli --cluster create 40.240.34.91:6379 40.240.34.92:6379 40.240.34.93:6379 40.240.34.91:6380 40.240.34.92:6380 40.240.34.93:6380 --cluster-replicas 1
# 手动添加从节点到指定主节点
redis-cli --cluster add-node 127.0.0.1:6381 127.0.0.1:6382 --cluster-slave --cluster-master-id 127.0.0.1:6379
2.4.检查成果
# -c代表集群模式,-a代表密码
->redis-cli -h 40.240.34.91 -p 6380 -a passwd -c
# 集群状态
cluster info
# 检查集群
redis-cli -a passwd --cluster check 40.240.34.91:6379
三、优劣
模式 | 配置方式 | 使用场景 |
---|---|---|
集群 | cluster-enabled yes + redis-cli --cluster create | 高可用、自动分片 |
主从复制 | cluster-enabled no + replicaof | 简单的主从备份 |
如果你的目标是 高可用集群,应该用 Redis Cluster,让集群自动管理主从关系;
如果只是 单机主从备份,就用 主从复制,手动配置 replicaof !