下载redis 6 解压
[root@rzk opt]# tar zxvf redis-6.2.3.tar.gz
解压后进入redis目录里面的src
修改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里面
修改redis6.conf
注释掉bind
关闭保护模式
注释端口号
开启后台启动
pid文件
日志文件
开启默认的rdb文件
每一个端口都会有对应的rdb文件,这个需要注释
存放在新建的data文件目录下
从节点密码
从服务器默认只读
设置主服务密码
编辑好久保存
复制三份 分别是不同端口号
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
启动服务
[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文件中 把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
81端口变成从服务器,83端口被选举成功成主服务器
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文件
public RedisSentinelConfiguration redisSentinelConfiguration(){
RedisSentinelConfiguration redisSentinelConfiguration = new RedisSentinelConfiguration()
//主节点名称
.master("mymaster")
//哨兵
.sentinel("服务器ip",26381)
.sentinel("服务器ip",26382)
.sentinel("服务器ip",26383);
//密码
redisSentinelConfiguration.setPassword("配置的哨兵密码");
return redisSentinelConfiguration;
}