哨兵

Redis集群-哨兵模式

匿名 (未验证) 提交于 2019-12-03 00:43:02
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuzhixiong_521/article/details/84797609 文章目录 概述 优势 哨兵集群 启动方式 哨兵配置解析 主备切换策略 概述 哨兵模式是Redis官方推荐的集群部署方式,与主从复制方式不同,哨兵模式可以在Master宕机时,自动实现主备切换。哨兵本身也是一个独立运行的进程,它用来监控多个主从复制集群。下图为哨兵模式简易调用图: 优势 不定时监控Redis集群是否运行良好。 若Redis节点出现故障,可以及时同事其他进程,如客户端。 能够自动进程主备切换。 哨兵集群 很显然,哨兵进程也存在单点部署的问题,即哨兵进程挂掉后,导致整个集群不可用,故哨兵进程也应该支持集群部署。部署哨兵集群的优势有以下几点: 即便某些哨兵进程挂掉,依然可以进行主备切换。 客户端可以连接任意一个哨兵进程服务,以获取集群信息。 启动方式 第一种 redis-sentinel sentinel.conf 第二种 redis-server sentinel.conf --sentinel 两种启动方式均需要指定哨兵配置文件,哨兵进程默认监听端口为26379。 哨兵配置解析 sentinel monitor mymaster 127.0.0.1 6379 2

centos7的redis加哨兵系统

泄露秘密 提交于 2019-12-02 18:42:51
三台服务器 1、下载 wget http://download.redis.io/releases/redis-5.0.3.tar.gz tar -zxvf redis-5.0.3.tar.gz cd redis-5.0.3 make make test //检查一下 看有没有问题 make install 2、安装 会在src目录下生成几个可执行文件,分别是mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server。其中redis-server是启动Redis服务的,redis-cli是进入Redis客户端的。 mkdir etc mkdir bin mv redis.conf etc/ mv sentinel.conf etc/ cd src mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-sentinel redis-server redis-trib.rb redis-cli ../bin cd ../ mkdir /usr/local/redis/ cp -R ./bin /usr/local/redis/ cp -R ./etc

redis哨兵+主从

时光总嘲笑我的痴心妄想 提交于 2019-12-01 15:25:28
什么是哨兵 Redis-Sentinel是用于管理Redis集群,该系统执行以下三个任务: 1监控(Monitoring): Sentinel会不断地检查你的主服务器和从服务器是否运作正常; 2提醒(Notification): 当被监控的某个Redis服务器出现问题时,Sentinel可以通过API向管理员或者其他应 用程序发送通知; 3自动故障迁移(Automaticfailover): 当一个主服务器不能正常工作时,Sentinel会开始一次自动故障迁移操作,它会将其中一 个从服务器升级为新的主服务器,当客户端试图连接失效的主服务器时,集群也会向客户 端返回新主服务器的地址 ———————————————— 1下载redis5.0 wgethttp://download.redis.io/releases/redis-5.0.2.tar.gz cd/usr/local/ mkdirredis tar-zxvfredis-5.0.2.tar.gz 2安装redis5.0 cdredis-5.0.2/ yum–yinstallgcc make&&makeinstall 报错处理: zmalloc.h:50:31:致命错误:jemalloc/jemalloc.h:没有那个文件或目录 makeMALLOC=libc makeinstall 3搭建redis主从复制集群 cd/usr

Redis哨兵

我怕爱的太早我们不能终老 提交于 2019-12-01 07:29:46
  1. 需求     如果搭建redis分片,如果其中一台服务器宕机.则导致整个分片不能正常使用.     需求:能否实现服务器尽可能”不宕机”.(高可用)   2. Redis哨兵工作原理          前提:如果需要实现redis高可用,必须先配置主从结构:     1. 用户通过哨兵之后连接当前集群中的主机;     2. 哨兵通过心跳检测机制实时向主机发出心跳检测:PING-PONG。如果连续3次没有收到主机的回执,则发现主机宕机,开始进行推选;     3. 哨兵通过连接主机时已经获取了主机的全部信息。如果主机宕机,哨兵通过推选的机制选择一台从机当做新的主机,之后将其他的服务器改为当前主机的从机;   3. 哨兵高可用搭建     1. 复制目录 cp -r shards sentinel     2. 删除持久化文件       因为redis节点的配置文件名称都是一致的,启动redis时会导致内存数据都是相同,所以必须先删除持久化文件: rm -f dump.rdb appendonly.aof     3. 主从搭建       a. 启动三台redis       b. 检查redis节点状态( 执行命令 src/redis-cli -p 6379 进入redis操作界面 ,执行 info replication 查看节点状态)               

redis集群

こ雲淡風輕ζ 提交于 2019-12-01 05:29:39
前提:如果要实现redis的高可用,必须先配置主从结构 1-用户通过哨兵之后连接当前集群中的主机 2-哨兵通过心跳检测机制实时向主机发出心跳检测PING-PONG   如果连续三次没有收到主机的回执,则发现主机就宕机了     然后开始进行主机的推选 3-哨兵通过连接主机时,已经获取了主机全部的信息   哨兵通过推选的机制选择一台从机成为新的主机     之后将其他的服务器改为现在的主机的从机 ---1--哨兵高可用的搭建    1-复制目录 [root@localhost redis]# cp -r shards sentinel 来源: https://www.cnblogs.com/B1ackWall/p/11660015.html

docker部署redis主从+哨兵实现高可用

痞子三分冷 提交于 2019-11-30 07:12:48
1.环境介绍 两台内网服务器:192.168.31.110(主)、192.138.31.98(从) 2.拉取redis镜像 docker pull docker.io/redis:4.0 3.运行redis镜像,为了明确区分主从,这里用别名标识 (1)192.168.31.110服务器运行容器: docker run -d -p 6379:6379 -p 26379:26379 --name redis-master -v $PWD/data:/data redis:4.0 redis-server (2)192.138.31.98服务器运行容器: docker run -d -p 6379:6379 -p 26379:26379 --name redis-slave -v $PWD/data:/data redis:4.0 redis-server 4.配置主从 (1)分别进入服务器的redis容器 docker exec -it redis-master docker exec -it redis-slave (2)连接redis,查看redis信息 redis-cli info replication 可以看到信息: 可以看到目前两个容器都是主。 在从redis容器中,运行redis命令: slaveof 192.168.31.110 6379 再次查看redis信息 自此

Redis 哨兵集群实现高可用

余生颓废 提交于 2019-11-29 19:35:09
Redis 哨兵集群实现高可用 哨兵的介绍 sentinel,中文名是哨兵。哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 redis master 和 slave 进程是否正常工作。 消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。 故障转移:如果 master node 挂掉了,会自动转移到 slave node 上。 配置中心:如果故障转移发生了,通知 client 客户端新的 master 地址。 哨兵用于实现 redis 集群的高可用,本身也是分布式的,作为一个哨兵集群去运行,互相协同工作。 故障转移时,判断一个 master node 是否宕机了,需要大部分的哨兵都同意才行,涉及到了分布式选举的问题。 即使部分哨兵节点挂掉了,哨兵集群还是能正常工作的,因为如果一个作为高可用机制重要组成部分的故障转移系统本身是单点的,那就很坑爹了。 哨兵的核心知识 哨兵至少需要 3 个实例,来保证自己的健壮性。 哨兵 + redis 主从的部署架构,是不保证数据零丢失的,只能保证 redis 集群的高可用性。 对于哨兵 + redis 主从这种复杂的部署架构,尽量在测试环境和生产环境,都进行充足的测试和演练。 哨兵集群必须部署 2 个以上节点,如果哨兵集群仅仅部署了 2 个哨兵实例,quorum = 1。 +-

单机版redis哨兵模式搭建

时光总嘲笑我的痴心妄想 提交于 2019-11-29 09:40:20
单机版redis哨兵模式搭建 下载redis 解压 编译redis 修改配置 修改master的配置 修改slave的配置 启动redis 问题点 下载redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz 解压 解压压缩包,修改名称 tar xzf redis-3.0.7.tar.gz mv redis-3.0.7 redis1 mv redis-3.0.7 redis2 编译redis make 修改配置 修改master的配置 修改redis.conf的配置 port 6378 daemonize yes slaveof 192.168.30.89 6379 #链接master redis 修改sentinel.cof的配置 port 26379 sentinel monitor test 192.168.30.89 6379 2 #test是master名字 IP是master ip和端口 daemonize yes 修改slave的配置 修改redis.conf的配置 port 6378 daemonize yes slaveof 192.168.30.89 6379 #链接master redis 修改sentinel.cof的配置 port 26378 sentinel monitor test

Redis哨兵模式的配置

青春壹個敷衍的年華 提交于 2019-11-28 18:57:21
绪论 现有三台设备,192.168.137.11、192.168.137.12和192.168.137.13,要求在三台设备上实现redis哨兵模式,其中192.168.137.11为master,其他两台为slave。 1、在Master上配置redis.conf文件 配置文件内容如下: protected-mode no (关闭保护模式) port 6379 daemonize yes (设置redis在后台启动) pidfile /var/run/redis_6379.pid logfile "/opt/module/redis/6379/logs/redis_6379.log" (设置日志文件的存放位置) dbfilename dump_6379.rdb (设置dump文件名) dir "/opt/module/redis/6379" (设置dump文件和nodes文件的存放位置) masterauth bigdata (设置集群节点间访问密码,跟上面一致) requirepass bigdata (设置redis访问密码) # bind 127.0.0.1 注释掉该项 2.启动redis,并配置另外两台设备为slave 分别启动三台设备上的redis,然后使用redis-cli在192.168.137.12和192.168.137.13分别执行如下命令,表示以192

redis主从+哨兵模式

跟風遠走 提交于 2019-11-28 16:23:20
redis主从+哨兵搭建 在安装之前,需要安装环境,不然编译会报错 需要安装gcc:yum install gcc-c++ 一、主节点搭建 1.上传redis安装包到目录/usr/local/redis 2.解压包 tar -zxvf redis-5.0.5.tar.gz 3.将解压的包复制一份,更名为redis-master cp -r redis-5.0.5 /usr/local/redis/redis-master 4.进到目录中编译 cd redis-master/ make 5.修改配置文件 vim redis.conf 修改内容如下: 启用守护进程:daemonize yes 设置pidfile的路径:pidfile /usr/local/redis/redis-master/redis.pid 设置端口:port 8379 取消绑定主机地址:# bind 127.0.0.1 修改日志路径:logfile "/usr/local/redis/redis-master/logs/master.log" 设置密码:requirepass redis #注意以上的日志路径需要创建logs目录和文件master.log 6.然后创建两个文件启动和停止 vi start.sh /usr/local/redis/redis-master/src/redis-server /usr