【Linux】【Services】【Cache】使用Sentinel搭建高可用Redis
1. 简介
1.1. 一些基础概念请参考 http://www.cnblogs.com/demonzk/p/7453494.html
1.2. 几种常用的集群方式。
-- Redis Sentinel:本次使用的方式
-- Zookeeper+Redis:比较重量级,需要在代码层实现
-- Codis:豌豆荚在使用的方式
--
2. 环境:
2.1.机器列表
| 功能与组件 | 机器名 | 服务IP | 管理IP | Processor Cores | RAM | Storage | 备注 |
| Mongo/Redis/RabbitMQ/Memorycached | HCTJOSCACHE01 | 10.30.2.45 | 172.16.0.45 | ||||
| Mongo/Redis/RabbitMQ/Memorycached | HCTJOSCACHE02 | 10.30.2.46 | 172.16.0.46 | ||||
| Mongo/Redis/RabbitMQ/Memorycached | HCTJOSCACHE03 | 10.30.2.47 | 172.16.0.47 |
3. 安装与配置:
3.1. redis-server
yum默认安装
#安装redis时候会默认安装redis-server和redis-sentinel
yum -y install redis
#这是一个由Ruby写的管理工具,可以不装,有机会再后面详解
yum -y install redis-trib
创建一个单独的分区给redis存数据
lvcreate -L 10G -n lv_redis vg_system mkfs.xfs /dev/mapper/vg_system-lv_redis mkdir -p /data/redis echo -e "/dev/mapper/vg_system-lv_redis\t/data/redis\t\tdefauts\t0 0" >> /etc/fstab mount -a chown redis:redis /data/redis
修改配置文件/etc/redis.conf
#注释掉这一条
#bind 127.0.0.1 #如果开启这个的话,其他机器连接进来的请求是无法执行的
protected-mode no
daemonize yes
#写入到本地文件
appendonly yes
#AOF和RDB文件的位置,默认是/var/lib/redis
dir /data/redis #从节点需要开启这条指令
slaveof 10.30.2.45 6379
按照顺序从10.30.2.45开始启动服务
systemctl start redis && systemctl enable redis
在10.30.2.45上检查下节点状态
[root@hctjoscache03 ~]# redis-cli -h 10.30.2.45
10.30.2.45:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=10.30.2.46,port=6379,state=online,offset=869,lag=1
slave1:ip=10.30.2.47,port=6379,state=online,offset=883,lag=0
master_repl_offset:883
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:882
3.2. redis-sentinel
修改/etc/redis-sentinel.conf
sentinel monitor mymaster 10.30.2.45 6379 2
启动服务
systemctl start redis-sentinel && systemctl enable redis-sentinel
【Linux】【Services】【Cache】使用Sentinel搭建高可用Redis的更多相关文章
- 如何搭建高可用redis架构?
如何搭建高可用redis架构? 温国兵 架构师小秘圈 昨天 作者:温国兵,曾任职于酷狗音乐,现为三七互娱 DBA.目前主要关注领域:数据库自动化运维.高可用架构设计.数据库安全.海量数据解决方案.以及 ...
- centos下搭建高可用redis
Linux下搭建高可用Redis缓存 Redis是一个高性能的key-value数据库,现时越来越多企业与应用使用Redis作为缓存服务器.楼主是一枚JAVA后端程序员,也算是半个运维工程师了.在Li ...
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...
- Redis Cluster搭建高可用Redis服务器集群
一.Redis Cluster集群简介 Redis Cluster是Redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了Redis分布式的需求,当一个节点挂了可以快速的切换到另一个节 ...
- redis 记一次搭建高可用redis集群过程,问题解决;Node 192.168.184.133:8001 is not configured as a cluster node
------------恢复内容开始------------ 步骤 1:每台redis服务器启动之后,需要将这几台redis关联起来, 2: 关联命令启动之后 报错: Node 192.168.184 ...
- 高可用Redis服务架构分析与搭建
基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量 ...
- 搭建高可用的Redis服务,需要注意这些方面!
搭建高可用的Redis服务,需要注意这些方面! HorstXu 占小狼的博客 今天 ◎作者 | HorstXu www.cnblogs.com/xuning/p/8464625.html 基于内存的R ...
- 高可用Redis服务架构分析与搭建(单redis实例)
原文地址:https://www.cnblogs.com/xuning/p/8464625.html 基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在 ...
- 搭建高可用mongodb集群(一)——配置mongodb
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQL有这些优势: 大数据量,可以通过 ...
随机推荐
- robot_framewok自动化测试--(1)Robot Framework 环境搭建及常见日志问题解决办法
一.Robot Framework 介绍 Robot Framework 的架构是一个通用的验收测试和验收测试驱动开发的自动化测试框架(ATDD).它具有易于使用的表格来组织测试过程和测试数据. 它使 ...
- Invalid prop: type check failed for prop "xxx". Expected Number, got String.
在子组件progress-circle.vue的template中的定义如下: <svg :width="radius" :height="radius" ...
- git diff 比较差异
说明 以下命令可以不指定 <filename>,表示对全部文件操作. 命令涉及和 Git本地仓库对比的,均可指定 commit 的版本. HEAD 最近一次 commit HEAD^ 上次 ...
- css 马赛克悬停效果
css 马赛克悬停效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset=
- SpringCloud升级之路2020.0.x版-31. FeignClient 实现断路器以及线程隔离限流的思路
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 在前面一节,我们实现了 FeignClient 粘合 resilience4j 的 Ret ...
- leakcanary内存泄漏:此篇有加了内存泄漏的apk demo
概括: ·用Android studio写一个demo ·配置leakcanary ·加入内存泄漏代码片段 ·安装apk 验证结果 ·源码地址 一.android ...
- 9组-Alpha冲刺-1/6
一.基本情况 队名:不行就摆了吧 组长博客:https://www.cnblogs.com/Microsoft-hc/p/15526668.html 小组人数: 8 二.冲刺概况汇报 谢小龙 过去两天 ...
- java meil
import java.util.Date; import java.util.List; import java.util.Properties; import javax.activation.D ...
- [hdu6582]Path
首先,从1和n跑一次dij,判断每一条边能否出现在最短路上,不能出现就删掉,然后将所有边建在图上,流量为边权,跑最小割即可. 1 #include<bits/stdc++.h> 2 usi ...
- [cf1209E]Rotate Columns
题意也可以理解为这样一个过程: 对于每一列,将其旋转后选出若干行上的数,要求与之前的行都不同 用$g_{i,S}$表示第$i$列选出的行数集合为$S$的最大和,$f_{i,S}$表示前$i$列$S$中 ...