首页 > 数据库 >redis三主三从哨兵模式 redis三主三从集群

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

时间:2023-09-20 14:37:16浏览次数:40  
标签:三主三 redis 哨兵 cluster redis6381 conf 集群 server

转自: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

以上,集群就跑起来了

标签:三主三,redis,哨兵,cluster,redis6381,conf,集群,server
From: https://www.cnblogs.com/gzy2016Blog/p/17717238.html

相关文章

  • 解决安装VS2022时,出现未能安装包"Microsoft.VisualCpp.Redist.14,version=14.32.31332
    解决安装VS2022时,出现未能安装包"Microsoft.VisualCpp.Redist.14,version=14.32.31332,chip”=x86"问题描述之前安装过MSSQLServer和VS2022,但是后来又卸载了。现在重装VS2022出现两个报错:无法安装Microsoft.VisualCpp.Redist.14,version=14.32.31332,chip”=x86无法安装Micr......
  • 9.19单链表带哨兵和双向链表带哨兵
    1.单链表publicclassMain{publicstaticvoidmain(String[]args){LNodeL=newLNode();L.addFirst(4);//头插L.addFirst(3);L.addFirst(2);L.addFirst(1);L.addLast(5);//尾插L.Isempty();//判空L.......
  • redis和mysql的区别以及它们是如何配合使用的
    redis和mysql的区别:1、从类型上来说,mysql是关系型数据库,redis是缓存数据库。2、mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢。redis用于存储使用较为频繁的数据到缓存中,读取速度快。3、mysql和redis因为需求的不同,一般都是配合使用。mysql和redis的数据库类型,m......
  • Redis7 10大数据类型(Redis基数统计)
    一、概述用途:统计某个网站的UV,统计某个文章的UV什么是UVUniqueVisitor独立访客,一般理解为客户端ip用户搜索网站关键词的数量统计用户每天搜索不同词条个数去重复统计功能的基数估计算法,就是HyperLogLog基数是一种数据集,去重复后的真实个数案例case基数统计用户统计......
  • 基本环境安装 jdk,mq,redis,nginx
    JDK:解压安装包,命令为tar-zxvfjdk-8u381-linux-x64.tar.gz配置环境变量,使用vim命令(需要安装vim,安装命令为:yuminstallvim)修改/etc/profile文件,在文件末尾加入如下配置 JAVA_HOME=/usr/local/jdk8/jdk1.8.0_381 PATH=$JAVA_HOME/bin:$PATH重新加载profile文件,使更改的配置......
  • 详细解释一下redis的缓存击穿、缓存雪崩的原理,以及如何避免?
    缓存击穿和缓存雪崩是两种常见的缓存问题,它们会对系统性能和可用性产生负面影响。以下是对这两个问题的详细解释以及如何避免它们的方法:缓存击穿(CacheMiss)原理:缓存击穿是指在高并发的情况下,多个请求同时访问缓存,但缓存中不存在所需数据。这些请求会穿透缓存,直接访问底层数据库......
  • redisson 工具类
    importcom.alibaba.fastjson.JSON;importcom.juxiao.xchat.dao.room.dto.CallStatus;importcom.juxiao.xchat.manager.cache.redis.RedissonManager;importlombok.extern.slf4j.Slf4j;importorg.redisson.api.*;importorg.redisson.client.protocol.ScoredEntry;i......
  • Redis面试题
    Redis到底是多线程还是单线程Redis6.0版本之前的单线程指的是其网络I/O和键值对的读写是由一个线程完成的。多线程在Redis6.0中的引入是为了改善一些特定场景下的性能问题,特别是在大型多核系统上。Redis6.0引入了多个I/O线程,这些线程负责处理网络事件的监听和接收。主线程仍......
  • docker 部署redis
    docker部署redis,设置密码为root123sudodockerrun-p6379:6379--nameredis01-dredis:7.0.12-alpineredis-server--loglevelwarning--requirepassroot123使用官方可视化工具redisinsight登录,默认用户名default......
  • Redis缓存穿透,击穿,雪崩问题改如何解决?
    无论在开发过程中还是面试过程中,这三个问题总是被遇到。下面是各个问题的原因和解决方案。缓存穿透原因缓存穿透其实是缓存的单点问题,是指查询一个一定不存在的数据。如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉......