Redis主从集群以及Sentinel的配置

安装完redis后,修改几个redis从节点的配置文件redis.conf,主要是加入主节点位置

slaveof 192.168.0.104 6379

另外需要修改的地方包括,这样允许其他的从节点连入

bind 0.0.0.0
protected-mode no

启动redis主节点和从节点

./redis-server redis.conf

查看主节点信息

./redis-cli -h 192.168.0.108  info Replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.0.104,port=6379,state=online,offset=169,lag=1
master_repl_offset:169
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:168

而在192.168.0104上查看信息,看到一方面作为192.168.0.108的从节点,另外192.168.0.107从192.168.0.104上复制数据.

[[email protected] bin]# ./redis-cli -h 192.168.0.104  info Replication
# Replication
role:slave
master_host:192.168.0.108
master_port:6379
master_link_status:up
master_last_io_seconds_ago:10
master_sync_in_progress:0
slave_repl_offset:281
slave_priority:100
slave_read_only:1
connected_slaves:1
slave0:ip=192.168.0.107,port=6379,state=online,offset=14848,lag=0
master_repl_offset:14848
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:14847

在192.168.0.107上的信息

./redis-cli -h 192.168.0.107 info Replication
# Replication
role:slave
master_host:192.168.0.104
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:25426
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

启动Redis-sentinel哨兵服务

Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务:

  • 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
  • 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
  • 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。

虽然 Redis Sentinel 释出为一个单独的可执行文件 redis-sentinel , 但实际上它只是一个运行在特殊模式下的 Redis 服务器, 你可以在启动一个普通 Redis 服务器时通过给定 –sentinel 选项来启动 Redis Sentinel 。

在192.168.0.107上编辑一个sentinel.conf配置文件

sentinel monitor redisslave2 192.168.0.108 6379 1

意思是监听主节点redisslave1主机名,ip为192.168.0.107 6379,主实例判断为失效至少需要1个 Sentinel进程的同意.

启动sentinel进程

./redis-sentinel sentinel.conf

[[email protected] bin]# ./redis-sentinel ../etc/sentinel.conf
31843:X 19 Jul 09:14:59.356 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ‘‘-._
_.-`` `. `_. ‘‘-._ Redis 3.2.9 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ‘‘-._
( ‘ , .-` | `, ) Running in sentinel mode
|`-._`-...-` __...-.``-._|‘` _.-‘| Port: 26379
| `-._ `._ / _.-‘ | PID: 31843
`-._ `-._ `-./ _.-‘ _.-‘
|`-._`-._ `-.__.-‘ _.-‘_.-‘|
| `-._`-._ _.-‘_.-‘ | http://redis.io
`-._ `-._`-.__.-‘_.-‘ _.-‘
|`-._`-._ `-.__.-‘ _.-‘_.-‘|
| `-._`-._ _.-‘_.-‘ |
`-._ `-._`-.__.-‘_.-‘ _.-‘
`-._ `-.__.-‘ _.-‘
`-._ _.-‘
`-.__.-‘

31843:X 19 Jul 09:14:59.360 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
31843:X 19 Jul 09:14:59.369 # Sentinel ID is a29b3e6df6406c2870301cb39db0de5fc9bcf884
31843:X 19 Jul 09:14:59.369 # +monitor master redisslave2 192.168.0.108 6379 quorum 1
31843:X 19 Jul 09:14:59.371 * +slave slave 192.168.0.104:6379 192.168.0.104 6379 @ redisslave2 192.168.0.108 6379

将192.168.0.108的master停掉,发现sentinel输出为

31843:X 19 Jul 09:16:41.307 # +sdown master redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.307 # +odown master redisslave2 192.168.0.108 6379 #quorum 1/1
31843:X 19 Jul 09:16:41.307 # +new-epoch 1
31843:X 19 Jul 09:16:41.307 # +try-failover master redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.314 # +vote-for-leader a29b3e6df6406c2870301cb39db0de5fc9bcf884 1
31843:X 19 Jul 09:16:41.314 # +elected-leader master redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.314 # +failover-state-select-slave master redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.367 # +selected-slave slave 192.168.0.104:6379 192.168.0.104 6379 @ redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.367 * +failover-state-send-slaveof-noone slave 192.168.0.104:6379 192.168.0.104 6379 @ redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.468 * +failover-state-wait-promotion slave 192.168.0.104:6379 192.168.0.104 6379 @ redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.684 # +promoted-slave slave 192.168.0.104:6379 192.168.0.104 6379 @ redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.685 # +failover-state-reconf-slaves master redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.770 # +failover-end master redisslave2 192.168.0.108 6379
31843:X 19 Jul 09:16:41.770 # +switch-master redisslave2 192.168.0.108 6379 192.168.0.104 6379
31843:X 19 Jul 09:16:41.771 * +slave slave 192.168.0.108:6379 192.168.0.108 6379 @ redisslave2 192.168.0.104 6379
31843:X 19 Jul 09:16:42.190 * +slave slave 192.168.0.107:6379 192.168.0.107 6379 @ redisslave2 192.168.0.104 6379
+switch-master redisslave2 192.168.0.108 6379 192.168.0.104 6379表示已经切换到192.168.0.104号节点.
[[email protected] bin]# ./redis-cli -h 192.168.0.104  info Replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.0.107,port=6379,state=online,offset=82001,lag=1
master_repl_offset:82001
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:82000

而当192.168.0.108重新启动后已经变成从节点,集群切换完成。

[[email protected] bin]# ./redis-cli -h 192.168.0.108  info Replication
# Replication
role:slave
master_host:192.168.0.104
master_port:6379
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:89076
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
 
时间: 2024-10-20 04:02:05

Redis主从集群以及Sentinel的配置的相关文章

02.Redis主从集群的Sentinel配置

阅读目录 开始 1.集群环境 2.配置并启动Redis主从集群 3.配置sentinel集群并启动 4.测试sentinel集群 回到顶部 1.集群环境 1.Linux服务器列表 使用4台CentOS Linux服务器搭建环境,其IP地址如下: 192.168.110.100192.168.110.101192.168.110.102192.168.110.103 2.Redis服务部署环境 192.168.110.100    启动多个Redis sentinel服务,构成Redis sent

Redis主从集群的Sentinel配置

首先对三台机器进行redis的单机安装,然后进行以下步骤 master 192.168.1.102 slaver 192.168.1.104 slaver 192.168.1.105 修改两个slaver的redis.conf配置文件 添加master配置信息 slaveof 192.168.1.102 6379 启动三台机器 sudo ./redis-server redis.conf 然后查看主节点的信息 ./redis-cli -h 192.168.1.102 info Replicati

部署redis主从集群并开启哨兵模式

一.部署环境系统:centos7通过在Linux系统上启动两个不同的redis实例来完成主从集群的部署yum源已部署 二.redis的下载与安装1.下载:官网下载2.安装创建/app/目录,redis安装在/app/目录下 [[email protected] ~]# mkdir /app [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# ls redis-4.0.11.tar.gz [[email protec

redis 主从集群说明及配置

架构图如下: 1.sentinel 说明 (1)监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常. (2)提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知. (3)自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主

redis主从集群搭建及容灾部署(哨兵sentinel)

Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅. 提纲 l  Redis安装 l  整体架构 l  Redis主从结构搭建 l  Redis容灾部署(哨兵sentinel) l  Redis常见问题 Redis安装 发行版:CentOS-6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 下载redis,选择合适的版本 [[email protected] software]# wget http:/

redis主从集群搭建

一.安装redis 首先登陆官网下载压缩包,我安装的是最新版本5.X,下载地址http://download.redis.io/releases/redis-5.0.2.tar.gz. 进入文件所在目录解压 tar -zxf redis-5.0.2.tar.gz 进入src目录,cd redis-5.0.2/src/ 编译,make && make install 这里因为只有一台服务器所以通过修改端口号的方式搭建伪集群 二.修改配置文件 cp redis.conf redis-6380.

redis主从+集群

接上篇-redis基础 说明:docker版本:18.03.0-ce   redis版本: redis-4.0.9 4.redis主从配置 1.redis的复制功能是支持多个数据库之间的数据同步.一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库. 2.通过redis的复制功能可以很好的实现数据库的读

windows下的Redis主从集群搭建

Redis官方不提供Windows版本,目前Windows下的版本是有微软开源团队(Microsoft Open Tech group)维护. http://redis.cn/ redis中文网 windows版本下载地址:https://github.com/MicrosoftArchive/redis/releases,默认安装后使用的配置文件是redis.windows-service.conf Redis有强大的主从复制功能,一个master可以有多个slave,而一个slave又可以有

主从集群搭建及容灾部署redis

redis主从集群搭建及容灾部署(哨兵sentinel) Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅. 提纲 l  Redis安装 l  整体架构 l  Redis主从结构搭建 l  Redis容灾部署(哨兵sentinel) l  Redis常见问题 Redis安装 发行版:CentOS-6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 下载redis,选择合适的版本 [[email prot