Redis 一主两从 哨兵集群模式

Redis集群部署实操。纯干货,按步骤操作即可。
1.1 服务器配置方案
IP地址 角色 端口号 哨兵端口
10.1.129.156 [正式一] Master 6379 26379
10.1.129.157 [正式二] Slave 6389 36379
10.16.129.156 [灾备一] Slave 6399 46379
1.2 解压并安装 【解压以后修改名称 主 master 从 sentinel】
tar -zxvf redis-5.0.8.tar.gz
mv redis-5.0.8 redis-master
cd redis-master
make
cd src
make install PREFIX=/usr/local/redis

如果在make的时候报错,这个是缺少gcc的依赖包。
可执行 yum install gcc 进行下载
执行完以后再次进行make 会报一下错误

#这时候可以执行:
    make distclean && make
#错误的本质是我们在开始执行make 时遇到了错误(大部分是由于gcc未安装),然后我们安装好了gcc 后,我们再执行make ,这时就出现了jemalloc/jemalloc.h: No such file or directory。这是因为上次的编译失败,有残留的文件,我们需要清理下,然后重新编译就可以了
1.3 修改配置文件
13.1 主节点 redis.conf 文件修改
vi redis-master/redis.conf
# 1. 注释掉此配置,表示所有主机都可以连接此服务。(注意:bind 的作用是绑定本机的网卡对应的IP地址,而非限制只有此ip访问,限制指定ip访问只能通过防火墙限制)
# bind 127.0.0.1
 
# 2. 保护模式修改为否,允许远程连接
protected-mode no

#3、启动模式改为yes,后台启动
daemonize yes
# 4. 设定密码 
requirepass "lbs1234" 
# 5. 设定主库密码与当前库密码同步,保证从库能够提升为主库 
masterauth "lbs1234"
1.3.2 主节点 sentinel.conf 哨兵配置文件修改
vi redis-master/sentinel.conf
#1、指定监控的master,最后一位表示quorum(法人数量),即认定master'客观下线'成立的最低票数
sentinel monitor mymaster 10.1.129.156 6379 2

# 2. 主数据库密码,需要将配置放在sentinel monitor master 127.0.0.1 6379 1下面 
sentinel auth-pass mymaster lbs1234

#3、启动模式改为yes,后台启动
daemonize yes
1.3.3 从节点 redis.conf 文件修改
vi redis-sentinel/redis.conf
# 1. 注释掉此配置,表示所有主机都可以连接此服务。(注意:bind 的作用是绑定本机的网卡对应的IP地址,而非限制只有此ip访问,限制指定ip访问只能通过防火墙限制)
# bind 127.0.0.1

#1、修改端口  [从一 10.1.129.157] 6389  [从二 10.16.129.156] 6399 
prot 6389
 
#2、 指定主服务的地址
slaveof 10.1.129.156 6379

#3、. 保护模式修改为否,允许远程连接
protected-mode no

#4、启动模式改为yes,后台启动
daemonize yes

#5、设定从服务密码
requirepass "lbs1234"

#6、 主服务密码
masterauth "lbs1234"
1.3.4 从节点 sentinel.conf 哨兵配置文件修改
vi redis-master/sentinel.conf
#设置端口号,[从一 10.1.129.157] 36379  [从二 10.16.129.156] 46379 
prot 36379
#1、指定监控的master,最后一位表示quorum(法人数量),即认定master'客观下线'成立的最低票数
sentinel monitor mymaster 10.1.129.156 6379 2
#2、启动模式改为yes,后台启动
daemonize yes

#3、主数据库密码
sentinel auth-pass mymaster lbs1234
1.4 启动redis

进入redis的src目录下

#启动redis
./redis-server ../redis.conf 
#启动哨兵
./redis-sentinel ../sentinel.conf

1、查看一下进程Redis:ps -ef | grep redis

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UEw5txOe-1656569627004)(en-resource://database/545:1)]

2、 查询同步状态

#连接redis
./redis-cli -h 172.17.0.10 -p 6379 -a lbs1234
#连接成功后输入命令
info replication

主节点显示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HJ2y6HWn-1656569627006)(en-resource://database/547:1)]

从节点显示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eqq4cALp-1656569627007)(en-resource://database/549:1)]

1.5 校验
1.5.1 主节点写入,从节点读取
# 主服务
set b b
# 从服务1
keys *
get b
# 从服务2
keys *
get b
1.5.2 主节点写入,从节点读取
# 从服务1
set c c
# result : (error) READONLY You can't write against a read only slave.
# 从服务2
set c c
# result : (error) READONLY You can't write against a read only slave.
1.5.3 关闭主服务,发现从节点会升为主节点
#关闭redis
./redis-cli -h ip -p 6379  shutdown
#子节点查看
./redis-cli -h ip -p 6389 
info replication

你可能感兴趣的:(Redis,redis,数据库,缓存)