阿里云服务器搭建Redis启用主从和哨兵模式
  Btp0eNAa4Hox 2023年11月12日 18 0

下载redis 6 解压

​redis官方下载地址​

[root@rzk opt]# tar zxvf redis-6.2.3.tar.gz


解压后进入redis目录里面的src


阿里云服务器搭建Redis启用主从和哨兵模式_服务器

阿里云服务器搭建Redis启用主从和哨兵模式_redis_02

修改redis6.conf文件

[root@rzk opt]# mkdir -p redis6
[root@rzk opt]# cd redis6/
[root@rzk redis6]# ls
[root@rzk redis6]# mkdir -p conf
[root@rzk redis6]# mkdir -p log
[root@rzk redis6]# mkdir -p data
[root@rzk redis6]# ls
conf data log


进入解压的redis文件,复制一份redis.conf 到刚刚新建文件夹的conf里面


阿里云服务器搭建Redis启用主从和哨兵模式_redis_03

修改redis6.conf


注释掉bind


阿里云服务器搭建Redis启用主从和哨兵模式_redis_04


关闭保护模式


阿里云服务器搭建Redis启用主从和哨兵模式_redis_05


注释端口号


阿里云服务器搭建Redis启用主从和哨兵模式_端口号_06


开启后台启动


阿里云服务器搭建Redis启用主从和哨兵模式_redis_07


pid文件


阿里云服务器搭建Redis启用主从和哨兵模式_redis_08


日志文件


阿里云服务器搭建Redis启用主从和哨兵模式_redis_09


开启默认的rdb文件


阿里云服务器搭建Redis启用主从和哨兵模式_服务器_10


每一个端口都会有对应的rdb文件,这个需要注释


阿里云服务器搭建Redis启用主从和哨兵模式_服务器_11


存放在新建的data文件目录下


阿里云服务器搭建Redis启用主从和哨兵模式_redis_12


从节点密码


阿里云服务器搭建Redis启用主从和哨兵模式_服务器_13


从服务器默认只读


阿里云服务器搭建Redis启用主从和哨兵模式_端口号_14


设置主服务密码


阿里云服务器搭建Redis启用主从和哨兵模式_redis_15

编辑好久保存

复制三份 分别是不同端口号

6391,6392,6393


复制三份
6391


# 引用公共配置
include /opt/redis6/conf/redis6.conf
# 进程编号记录文件
pidfile /var/run/redis-6391.pid
# 进程端口号
port 6391
# 日志记录文件
logfile "/opt/redis/log/redis-6391.log"
# 数据记录文件
dbfilename dump-6391.rdb
# 追加文件名称
appendfilename "appendonly-6391.aof"
# 下面的配置无需在6391里配置
# 备份服务器从属于6391推荐配置局域网ip
#slaveof **内网ip** 6391 **主节点不用配置**

6392

# 引用公共配置
include /opt/redis6/conf/redis6.conf
# 进程编号记录文件
pidfile /var/run/redis-6392.pid
# 进程端口号
port 6392
# 日志记录文件
logfile "/opt/redis/log/redis-6392.log"
# 数据记录文件
dbfilename dump-6392.rdb
# 追加文件名称
appendfilename "appendonly-6392.aof"
# 下面的配置无需在6391里配置
# 备份服务器从属于6391推荐配置局域网ip
slaveof **内网ip** 6391

6393

# 引用公共配置
include /opt/redis6/conf/redis6.conf
# 进程编号记录文件
pidfile /var/run/redis-6392.pid
# 进程端口号
port 6392
# 日志记录文件
logfile "/opt/redis/log/redis-6392.log"
# 数据记录文件
dbfilename dump-6392.rdb
# 追加文件名称
appendfilename "appendonly-6392.aof"
# 下面的配置无需在6391里配置
# 备份服务器从属于6391推荐配置局域网ip
slaveof **内网ip** 6391

阿里云服务器搭建Redis启用主从和哨兵模式_服务器_16

启动服务

[root@rzk bin]# ./redis-server /opt/redis6/conf/redis-6391.conf 
[root@rzk bin]# ./redis-server /opt/redis6/conf/redis-6392.conf
[root@rzk bin]# ./redis-server /opt/redis6/conf/redis-6393.conf

登录redis 端口

[root@rzk bin]# ./redis-cli -p 6391 -a 密码
[root@rzk bin]# ./redis-cli -p 6392 -a 密码
[root@rzk bin]# ./redis-cli -p 6393 -a 密码

查看主信息

127.0.0.1:6391> info replication
# Replication
role:master
connected_slaves:0
master_failover_state:no-failover
master_replid:57ca5a7eb086395207990befcc34875053b92334
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

阿里云服务器搭建Redis启用主从和哨兵模式_redis_17

查看从信息

阿里云服务器搭建Redis启用主从和哨兵模式_服务器_18
阿里云服务器搭建Redis启用主从和哨兵模式_redis_19

主节点设置值,从节点可以读到


然后从服务器不能写只能读


阿里云服务器搭建Redis启用主从和哨兵模式_端口号_20

哨兵模式

在redis文件中 把sentinel.conf拷贝到opt/redis/conf中


sentinel.conf文件内容如下


# 哨兵sentinel实例运行的端口 默认26379 port 26379

daemonize yes

# pidfile /var/run/redis-sentinel.pid

# logfile ""

# 哨兵sentinel的工作目录 dir /tmp

sentinel monitor mymaster **内网id** 6381 2
#哨兵监控主从 这个2 是这边开启三台服务器 如果要选举服务器就需要大于百分之50才能选举成功 3台服务器如果要选一台就需要大于2台

sentinel auth-pass mymaster 密码

拷贝三个配置文件


内容如下


#引用公共配置
include /opt/redis/conf/sentinel.conf
#进程端口号
port 26381
#进程编号记录文件
pidfile /var/run/sentinel-26381.pid
#日志记录文件(为了方便查看日志,先注释掉,搭建好环境后再打开
logfile "/opt/redis/log/sentinel-26381.log"
[root@rzk conf]# touch sentinel-26381.conf
[root@rzk conf]# touch sentinel-26382.conf
[root@rzk conf]# touch sentinel-26383.conf

启动哨兵模式

./redis-sentinel /opt/redis/conf/sentinel-26381.conf
./redis-sentinel /opt/redis/conf/sentinel-26382.conf
./redis-sentinel /opt/redis/conf/sentinel-26383.conf

先开启三个窗口查看日志

tail -f /opt/redis/log/sentinel-26381.log 
tail -f /opt/redis/log/sentinel-26382.log
tail -f /opt/redis/log/sentinel-26383.log

现在把6381杀死等待30秒

kill -9 端口号
查看端口号的命令是: ps -ef | grep reids

阿里云服务器搭建Redis启用主从和哨兵模式_服务器_21


81端口变成从服务器,83端口被选举成功成主服务器


阿里云服务器搭建Redis启用主从和哨兵模式_端口号_22

springboot使用redis哨兵

使用配置文件配置哨兵

spring:
redis:
# Redis服务器地址
host:
# Redis服务器端口
port: 6383
# Redis服务器密码
password:
# 选择哪个库 默认0库
database: 0
# 连接超过时间
timeout: 10000ms
lettuce:
pool:
# 最大连接数 默认8
max-active: 1024
# 最大连接阻塞等待时间,单位毫秒,默认 -1ms
max-wait: 10000ms
# 最大空闲连接,默认8
max-idle: 200
# 最小空闲连接,默认0
min-idle: 5
#哨兵模式
sentinel:
#主节点名称
master: mymaster
#节点 这里需要开启 2681,82,83端口
nodes: 服务器ip:26381,服务器ip:26382,服务器ip:26383

使用redisConfig文件

@Bean
public RedisSentinelConfiguration redisSentinelConfiguration(){
RedisSentinelConfiguration redisSentinelConfiguration = new RedisSentinelConfiguration()
//主节点名称
.master("mymaster")
//哨兵
.sentinel("服务器ip",26381)
.sentinel("服务器ip",26382)
.sentinel("服务器ip",26383);
//密码
redisSentinelConfiguration.setPassword("配置的哨兵密码");
return redisSentinelConfiguration;
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
Btp0eNAa4Hox