Redis 主从,哨兵,集群实战(四)

下载地址及版本说明

Redis 各版本下载地址: http://download.redis.io/releases/

版本说明:一般来说版本号第二位,偶数是稳定版本,奇数是在开发中的版本

本文基于Redis 版本为:3.2.12

理论依据文章为:

https://blog.csdn.net/sanri1993/article/details/101599701

https://blog.csdn.net/sanri1993/article/details/101620171

主从搭建

一主多从结构

结构

master 6379

slave 6380 -> 6379

slave 6381 -> 6379

搭建过程

  • 配置节点

master 6379 redis6379.conf

port 6379
protected-mode no
daemonize yes

slave 6380 redis6380.conf

port 6380
protected-mode no
daemonize yes
slaveof localhost 6379

slave 6381 redis6381.conf

port 6381
protected-mode no
daemonize yes
slaveof localhost 6379
  • 启动
./redis-server conf/redis6379.conf
./redis-server conf/redis6380.conf
./redis-server conf/redis6381.conf 
  • 查看是否启动成功
# 先看进程是否启动
netstat -tlnp | grep -E "6379|6380|6381"
# 查看拓扑结构
127.0.0.1:6379> info Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=10459,lag=0
slave1:ip=127.0.0.1,port=6381,state=online,offset=10459,lag=0

树状主从结构

结构

master 6379

slave 6380 -> 6379

slave 6381 -> 6380

搭建过程

和一主多从有变化的配置,其它环节一致

slave 6381 redis6381.conf

port 6381
protected-mode no
daemonize yes
slaveof localhost 6380

哨兵环境搭建

现切换成一主多从结构 ,在一主多从的情况下,搭建三个哨兵

结构

sentinel 26379 sentinel 26380 sentinel 26381

master 6379

slave 6380 -> 6379

slave 6381 -> 6379

搭建过程

  • 配置哨兵节点

sentinel 26379

port 26379
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 2

sentinel 26380

port 26380
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 2

sentinel 26381

port 26381
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 2
  • 启动哨兵
./redis-sentinel conf/sentinel26379.conf
./redis-sentinel conf/sentinel26380.conf
./redis-sentinel conf/sentinel26381.conf
  • 查看是否启动成功
# 查看进程是否启动成功
ps aux | grep sentinel

# 关闭主节点,看是否会选举一台从节点成为主节点
127.0.0.1:6379> shutdown 

# 重启之前的主节点,一段时间后,查看是否成为 slave 节点

集群环境搭建

结构

cluster master ->cluster slave

master 6379 -> slave6389

master 6380 -> slave6390

master 6381 -> slave6391

搭建过程

  • 配置节点配置信息

master 6379

port 6379
protected-mode no
daemonize yes

cluster-enabled yes
cluster-node-timeout 15000
# . 相对于命令运行路径,最好写绝对路径
cluster-config-file ./nodes-6379.conf

其它 master slave 只需要修改端口号即可,然后使用 ./redis-server <configfile> 启动

  • 建立集群通信
# 将集群的每一个节点建立通信
192.168.108.128:6379>cluster meet ip port  

# 查询集群节点
192.168.108.128:6379>cluster nodes 
  • 映射数据槽

redis集群有16384个哈希槽,要把所有数据映射到16384槽,需要批量设置槽

# 查询集群状态
192.168.108.128:6381> cluster info
cluster_state:fail

# 显示为 fail 是还没有映射槽,还不能提供服务
redis-cli -h 192.168.108.128 -p 6379 cluster addslots {0..5461}
redis-cli -h 192.168.108.128 -p 6380 cluster addslots {5462..10922}
redis-cli -h 192.168.108.128 -p 6381 cluster addslots {10923..16383}
  • 配置主从,在从节点上操作,复制哪一个 master
192.168.152.128:6389> cluster replicate 9b7b0c22f95eb01fb9935ad4b04d396c7f99e881
192.168.152.128:6390> cluster replicate 5351c088472467ae485ed519cea271efda646bfa
192.168.152.128:6391> cluster replicate e718f126278072e1e180c3e518d73e0bc877b3dc
  • 测试集群是否正常工作
# 登录上之后,执行不同的 set 操作,看能否跳转至其它节点执行命令
./redis-cli -c 

SpringBoot 连接 redis 集群

  • 引入 spring-boot-starter-data-redis
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  • 配置节点信息
spring.redis.cluster.nodes=192.168.108.128:6379,192.168.108.128:6380,192.168.108.128:6381

一点小推广

创作不易,希望可以支持下我的开源软件,及我的小工具,欢迎来 gitee 点星,fork ,提 bug 。

Excel 通用导入导出,支持 Excel 公式
博客地址:https://blog.csdn.net/sanri1993/article/details/100601578
gitee:https://gitee.com/sanri/sanri-excel-poi

使用模板代码 ,从数据库生成代码 ,及一些项目中经常可以用到的小工具
博客地址:https://blog.csdn.net/sanri1993/article/details/98664034
gitee:https://gitee.com/sanri/sanri-tools-maven

原文地址:https://www.cnblogs.com/sanri1993/p/11610244.html

时间: 2024-07-30 17:42:01

Redis 主从,哨兵,集群实战(四)的相关文章

Redis 主从,集群--实战

redis主从配置 1.架构 2.Redis主从数据同步的步骤 3.安装部署   3.1 基本环境 两台Centos 6.5 操作系统 ,分别关闭selinux,以及防火墙. master: 192.168.0.250 slave:  192.168.0.251 安装C语言编辑器 yum  install  gcc gcc-c++  -y   4.2.下载编译 使用的版本是: redis-3.2.6 tar  zxvf  redis-3.2.6.tar.gz >cd redis-3.2.6 >

redis 主从备份服务器集群搭建

redis 主从备份服务器集群 由于redis是要自己手动编译的,我就不折腾了,刚好手上有windown 64位的,就拿来练练手,等哪天在服务器上搭建项目了再弄, 启动命令:redis-server  --port  端口 在window  下启动4个redis-server  服务,端口分别为:1000,2000,3000,4000,  这样也相当于开了4台redis 数据库服务器, 现在使用  redis-cli  -host server_ip  -p  端口   连接对应的服务器 注:

redis主从及集群搭建

redis主从复制 概述 1.Redis的复制功能是支持多个数据库之间的数据同步.一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库. 2.通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力.主数据库主要进行写操作,而从数据库负责读操作. 主从复制过程 主从复制过程:见下图

docker 配置redis主从配置 集群 正式部署

转至 平凡的学生族发表于后端技术 在这篇文章中: 前言 环境 目录 0.确立计划 1. 运行master容器 2. 编写redis.conf 3. 解决WARNING THP 4. 解决WARNING somaxconn 5. 最终的docker run 最后 参考 前言 在正式部署前,你可以先阅读前置准备,对部署过程中用到的docker.redis操作和配置有一个理解,以防在自己电脑上复现时出错. 我们将在一台windows10机器上运行多个docker容器,配置Redis主从集群. 环境 宿

Redis集群实战

Redis基础到集群实战笔记 持久化存储 redis介绍 redis是基于key-value的持久化数据库存储系统,redis和memcached服务很想,但是redis支持的数据存储类型 服务更丰富 memcached支持value redis支持string(字符)list(链表)  set(集合)  push.pop redis比memcached服务性能好,但是比相对性的关系数据库(如mysql) 相对差 redis支持各种不同方式的排序,与memcached一样,为了保存效率,数据都是

Hadoop分布式集群实战

HAdoop集群实战一:Zookeeper集群部署 HAdoop集群实战二:Hadoop集群部署 HAdoop集群实战三:Namenode高可用HA部署 HAdoop集群实战四:Hbase集群部署 HAdoop集群实战五:Hive集群部署 HAdoop集群实战六:Kafka集群部署 [HAdoop集群实战七:Hive.Hbase集群整合...待更新]() [HAdoop集群实战八:Hive.Hbase集群整合测试...待更新]() [HAdoop集群实战九:Spark.Hive.Hbase集群整

Redis主从以及哨兵集群搭建(二)

Redis主从以及哨兵集群搭建 一.前言 Redis主从同步原理同MySQL的主从原理十分相似,而解决Redis单点故障的哨兵机制(sentinel)又同解决MySQL单点故障的MHA十分相似.因此我们在学习Redis时,可以将学习MySQL的知识迁移,这样一来,有利于我们快速掌握Redis主从机制,Redis哨兵集群的搭建.Redis的Sentinel机制大概是这样的.sentinel即哨兵,作用即放哨.开个玩笑,其实哨兵有三个作用:监控.通知和自动故障转移.哨兵是用来监控Redis的mast

【Redis哨兵集群】

目录 开始配置主从复制 开始配置Redis Sentinel @ *** 在开始之前,我们先来看看Redis的主从复制 主从复制原理: 从服务器向主服务器发送SYNC命令. 主服务器接到SYNC命令后,会调用BGSAVE命令,创建一个RDB文件,并使用缓冲区记录接下来执行的所有写命令. 当主服务器执行完BGSAVE命令后,会向从服务器发送RDB文件,而从服务器则会接收并执行这个文件. 主服务器将缓冲区存储的所有写命令发送给从服务器执行. --------- Redis主从复制使用的是RDB备份方

redis单点、主从、集群cluster配置搭建与使用

目录 redis单点.主从.集群cluster配置搭建与使用 1 .redis 安装及配置 1.1 redis 单点 1.1.2 在命令窗口操作redis 1.1.3 使用jedis客户端操作redis 1.1.4 使用spring-redis操作 1.2 redis 主从 1.3 哨兵sentinel 1.3.2 哨兵sentinel配置 1.3.3 启动哨兵,使用jedis连接哨兵操作redis 1.3.4 编写程序&运行 1.3.5模拟主节点宕机情况 1.4 redis cluster 1