redis单节点多实例部署-主从模式-哨兵模式

本次实验由于资源限制,采用单节点多实例的模式部署集群。
多节点模式搭建原理类似。

主从模式端口
7001
7002
7003
哨兵模式端口
6379
6378
哨兵126379
哨兵226380

redis 主从模式

要求1主2从。 端口7001-7003 ,需要手动部署
要求:端口监听正常,服务进程正常,能正常登陆客户端

1、编译安装redis

[root@docker_project02 redis]# wget http://download.redis.io/releases/redis-6.2.7.tar.gz
[root@docker_project02 redis]# tar xf redis-6.2.7.tar.gz -C /data/redis
[root@docker_project02 redis]# yum install gcc
cd /data/redis/redis-6.2.7 &&  make
cd /data/redis/redis-6.2.7/src && make install

2、配置文件

准备一份主库配置文件7001.conf,端口为7001

# 包含文件(redis-base.conf,文件从redis安装目录中拷贝的)
include /data/redis/redis-6.2.7/redis.conf
# bind 绑定地址修改,外网能访问
bind 0.0.0.0
# 关闭保护模式
protected-mode no 
# 端口
port 7001
# 后台运行
daemonize yes
# pid文件
pidfile redis_7001.pid
# 日志文件
logfile "/data/redis/7001/log/redis-7001.log"
#节点名称,从节点不需要
masterauth mymaster
# 认证密码,最好两个都写,防止无法通讯
requirepass 123456
masterauth 123456
# 最大内存10M,一般为机器内存的3/4
maxmemory 10mb
# 内存达到最大时策略,可选择其他策略
maxmemory-policy volatile-lru
# 目录
dir /data/redis/7001
# 快照文件
dbfilename dump-7001.rdb
#开启持久化机制
appendonly yes
appendfsync always

准备两份从库配置文件,端口是7002,7003,在主配置文件的基础上,修改相应配置

# 包含文件(redis-base.conf,文件从redis安装目录中拷贝的)
include /data/redis/redis-6.2.7/redis.conf
# bind 绑定地址修改,外网能访问
bind 0.0.0.0
# 关闭保护模式
protected-mode no 
# 端口
port 7002
# 后台运行
daemonize yes
# pid文件
pidfile redis_7002.pid
# 日志文件
logfile "/data/redis/7002/log/redis-7002.log"
# 认证密码
requirepass 123456
masterauth 123456
# 最大内存10M,一般为机器内存的3/4
maxmemory 10mb
# 内存达到最大时策略,可选择其他策略
maxmemory-policy volatile-lru
# 目录
dir /data/redis/7002
# 快照文件
dbfilename dump-7002.rdb
#开启持久化机制
appendonly yes
appendfsync always
# 从节点要跟随的主节点
replicaof 192.168.1.214 7001
# 主节点认证密码,如果设置了密码,就要设置
masterauth 123456
# 从库开放写的权限
slave-read-only no

目录结构如下:
在这里插入图片描述

3、启动

先启动主节点,然后启动从节点

主节点启动命令: /data/redis/redis-6.2.7/src/redis-server /data/redis/7001/7001.conf
 
从节点启动命令:
   /data/redis/redis-6.2.7/src/redis-server /data/redis/7002/7002.conf
   /data/redis/redis-6.2.7/src/redis-server /data/redis/7003/7003.conf

查看进程和端口是否启动
在这里插入图片描述

4、验证:

①、登录客户端

在这里插入图片描述

②、主从验证:

查看7001实例的info
在这里插入图片描述

7002及7003的信息
在这里插入图片描述
在这里插入图片描述

③、数据一致性

7001插入数据,7002,7003都可以查到
在这里插入图片描述
从其他库插入数据
在这里插入图片描述

redis哨兵模式

要求:主从模式,路径需要区分开来,主节点端口6379 从节点端口6378
端口监听正常,服务进程正常,能正常登陆客户端,主节点插入数据,要能在从节点查询主节点插入的数据。主节点发生故障后,从节点插入新的数据,并且恢复主节点,要能在主节点查询从节点插入的新数据
目录结构:
延续使用上文redis的主从配置文件,修改相应端口来启动redis服务。仅需开启两个。
在这里插入图片描述

1、配置文件

在主节点上和每个从节点上,创建一个哨兵配置文件,例如 7001-st.conf,并配置如下:不能有注释
port 26379   #端口需要修改
daemonize yes  #后台运行
pidfile /data/redis/7001/redis-sentinel.pid 
logfile "/data/redis/7001/log/sentinel_26379.log"
dir /data/redis/7001/
sentinel monitor mymaster 192.168.1.214 6379 2 #监控的Redis主节点6379,2个Redis Sentinel实例都认为主节点不可用时才会进行故障转移
sentinel down-after-milliseconds mymaster 30000  #定义了监控的主节点在多长时间没有回应后被认为是不可用的阈值。30000毫秒(30秒)
sentinel failover-timeout mymaster 180000  #定义了主节点故障转移的超时时间,即当主节点在一定时间内无法提供服务时,Sentinel会执行故障转移操作。这里设置为180000毫秒(180秒)。
sentinel deny-scripts-reconfig yes #指定是否允许在运行时修改Sentinel的配置。当设置为yes时,不允许修改配置。
sentinel auth-pass mymaster 123456  #必须项。连接主节点的密码,否则无法访问。

2、启动 Redis 哨兵:

先开启主节点的哨兵,再开从节点的哨兵

[root@docker_project01 src]# /data/redis/redis-6.2.7/src/redis-server /data/redis/7001/7001-st.conf --sentinel
[root@docker_project01 src]# /data/redis/redis-6.2.7/src/redis-server /data/redis/7002/7002-st.conf --sentinel

3、验证

①、端口及进程

在这里插入图片描述

②、验证主从

在这里插入图片描述
在这里插入图片描述

③、验证哨兵状态

在这里插入图片描述

手动关闭6379实例,主节点自动变更为6378实例
在这里插入图片描述

在6378插入数据
在这里插入图片描述

手动启动6379,并且查询cwc的值
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值