代码改变世界

redis三主三从哨兵模式 redis三主三从集群

2023-09-20 14:20  古兆洋  阅读(139)  评论(0编辑  收藏  举报

转自:https://blog.51cto.com/u_16213559/7033634

conf

复制/usr/local/src/redis-6.2.6文件夹下redis.conf文件到/usr/local/src/master-slave文件夹中命名为redis6381.conf

 1 # 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
 2 bind 0.0.0.0
 3 # 守护进程,修改为yes后即可后台运行
 4 daemonize yes 
 5 # 当守护进程开启之后,redis会在/var/run文件夹下生成.pid文件
 6 pidfile /var/run/redis6381.pid
 7 # auth密码,设置后访问Redis必须输入密码(xxxx为你自己设的密码)
 8 requirepass xxxx
 9 # 监听的端口
10 port 6381
11 # 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
12 databases 1
13 # 设置redis能够使用的最大内存
14 maxmemory 512mb
15 # 日志文件,默认为空,不记录日志,可以指定日志文件名
16 logfile "/usr/local/src/redis-6.2.6/data/redis6381.log"
17 # rdb持久化文件,生成位置为dir设置的目录
18 dbfilename dump6381.rdb
19 # AOF持久化开关
20 appendonly yes
21 # AOF文件名,默认是"appendonly.aof",,生成位置为dir设置的目录
22 appendfilename "appendonly6381.aof"
23 # 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
24 # 为了方便查看我在redis目录下新建了data文件夹用于存放日志、持久化等文件
25 dir ./usr/local/src/redis-6.2.6/data
26 # 开启集群
27 cluster-enabled yes
28 # 生成的node文件,记录集群节点信息,生成位置为dir设置的目录
29 cluster-config-file nodes6381.conf
30 #节点连接超时时间
31 cluster-node-timeout 20000
32 #集群节点的IP,填写虚拟机或服务器ip
33 cluster-announce-ip 192.168.88.88
34 #集群节点映射端口
35 cluster-announce-port 6381
36 #集群节点总线端口,节点之间互相通信,常规方式为端口号+1万
37 cluster-announce-bus-port 16381
38 # 如果上面开启了auth密码访问,需要设置masterauth,不然会连接不上主机,xxxx即上面设置的密码
39 masterauth xxxx

复制redis6381.conf,生成redis6382.conf、redis6383.conf、redis6384.conf、redis6385.conf、redis6386.conf并修改对应的端口号等

server

与配置主从复制时一样,在 /etc/systemd/system 文件夹下创建redis6381.server

 1 [Unit]
 2 Description=redis-server 6381
 3 After=network.target
 4  
 5 [Service]
 6 Type=forking
 7 ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis6381.conf
 8 PrivateTmp=true
 9  
10 [Install]
11 WantedBy=multi-user.target

复制sentinel26381.server,生成sentinel26382.server、sentinel26383.server等并修改对应端口

重启系统服务

1 # 重载系统服务
2 systemctl daemon-reload

redis服务的操作

1 # 启动
2 systemctl start redis6381
3 # 停止
4 systemctl stop redis6381
5 # 重启
6 systemctl restart redis6381
7 # 查看状态
8 systemctl status redis6381

启动cluster集群

1 # --cluster-replicas 1   1代表一主一从的方式
2 # -a后面是auth密码
3 redis-cli -a 123123 --cluster create 192.168.88.88:6385 192.168.88.88:6386 192.168.88.88:6381 192.168.88.88:6382 192.168.88.88:6383 192.168.88.88:6384 --cluster-replicas 1

 运行起来后需要手动输入yes

 这样就算搭建完成了

集群相关操作

1 # -c 表示以cluster集群模式连接到redis
2 redis-cli -c -p 6381
3 # 查看集群信息
4 cluster info
5 # 查看节点信息
6  cluster nodes

以上,集群就跑起来了