Redis入门完整教程:CacheCloud运维功能

article/2025/10/18 17:33:59

 13.6 运维功能
CacheCloud作为Redis的运维工具,包含了Redis日常运维的常用功能,
本节将对如下功能进行介绍:
1)应用运维:Redis节点的上下线、手动故障转移、配置管理、扩容
等。
2)接入已存在的Redis:将已经存在的Redis接入到CacheCloud。
3)Redis配置管理:对Redis配置进行模板化管理。
4)迁移工具:实现Redis Standalone、Redis Sentinel、Redis Cluster、
AOF、RDB之间数据迁移。
5)监控报警:机器、应用、实例各个维度的监控报警。
6)系统配置:CacheCloud系统的全局配置。

13.6.1 应用运维
CacheCloud的应用运维主要包含以下几个方面:
·应用上下线。
·Redis Sentinel运维。
·Redis Cluster运维。
·配置管理。
·垂直扩容和水平扩容。
1.应用上下线
我们已经通过CacheCloud自动化部署了应用(上线),那么当需要将这
个应用下线时,如何操作以及要注意哪些呢?管理员进入CacheCloud后台,
进入全局统计选项卡,可以看到应用列表,其中就包含了应用下线的按钮,
如图13-32所示。

应用下线会做如下操作:
·将应用所有的Redis节点关掉。
·CacheCloud停止应用下所有节点统计任务。
·将应用的状态变为下线,客户端无法集群使用已下线应用。
·将所有Redis节点的状态变为下线,这样客户端获取的Redis节点列表代
表为空。
运维提示
1)应用下线属于比较重要的操作,需要应用方和CacheCloud管理员确
认后方可进行,下线应用无法再次上线。
2)超级管理员组的用户才有权限下线应用,超级管理员组的配置方法
请参考13.6.6节。
2.应用运维
单击应用运维按钮即可进入运维界面,图13-33为Redis Cluster的运维界
面。 

主要包含如下功能:
·实例基本信息:运行状态、角色、内存使用状态、对象数、连接数、
命中率、日志查看等。
·下线实例:对该节点执行shutdown操作,并关闭该节点相关监控任
务。
·上线实例:针对已下线的节点,重新启动该节点并重新加入监控。
·添加从节点:可以为主节点添加一个从节点,只需要填写节点IP即
可。
·FailOver:手动完成Redis Cluster主从节点的故障转移,其中failover操
作支持三种方法:failover、failover force、failover takeover。 

3.配置管理
用户提交配置修改的工单后,管理员在后台流程审批中完成配置确认和
审批,如图13-34所示。
4.应用扩容
用户提交容量伸缩的工单后,管理员可以在后台的流程审批选项卡看到
容量伸缩的相关条目,单击审批处理,即可进入扩容页面,如图13-35所
示。

默认会进入垂直扩容界面,需要填写的是每个实例的maxmemory(以
MB为单位),点击“保存”即可。
运维提示
·垂直扩容:修改每个Redis实例的maxmemory。
·水平扩容:添加新的节点,迁移slots等,可以参考10.4节。
如果本次扩容需要水平扩容,点击水平扩容按钮即可,需要两步来完
成:
1)填写一对主从节点(主从节点不能是同一个IP),如图13-36所示。
2)填写源节点id和目标节点id,以及要迁移的slot,单击migrate按钮,
即可开始一个迁移任务。列表下方会显示实时的迁移进度。 

 有关水平扩容有两点需要注意:
·不要过度依赖水平扩容,在开启应用分配资源时,提前做好规划更重
要,因为迁移无论对客户端还是服务端都有一定的成本。
·迁移速度上,migrate<set<AOF<RDB,所以在需要做数据迁移时,要弄
清真正需要什么粒度的迁移。 <li="">

13.6.2 接入已存在的Redis节点
到目前为止,Redis都是通过CacheCloud开启的,那么已经存在的Redis
节点如何接入到CacheCloud中呢?操作步骤如下:
1)管理员用户命令下拉菜单中导入应用链接。
2)填写导入应用表单,如图13-38所示,最重要的就是实例详情。与部
署应用不同的是,由于当前导入的节点已经存在,所以除了ip和
maxmemory,还需要填写端口号。

Redis数据节点和Sentinel节点格式如下:
·Redis数据节点:ip:port:maxmemory(单位为MB)。
·Sentinel节点:ip:port:masterName。
具体格式参考实例列表下面的说明即可,这里就不占用篇幅了。但是有
几点需要注意,如下情况会造成检查格式失败:
·机器不受CacheCloud管理。
·Redis节点不存在。
·Redis节点已经在CacheCloud中(可以在机器管理中查询,或者直接查
询instance_info表)。
·Sentinel节点masterName为空或者与真实masterName不符。
·Redis节点节点包含密码,此功能暂不支持密码。
·Redis节点没有配置maxmemory,会展示不出来应用内存统计。
验证格式并点击开始导入,就可以将填写的Redis节点导入到
CacheCloud中,包括应用信息、实例信息、应用和实例的各种统计信息的收
集就会生效,报表就可以展示出来,并且相关报警也会自动启动。那么将已
经存在的Redis接入CacheCloud到底做了什么呢?CacheCloud不会对Redis节
点造成任何性能上影响,只做了如下三件事:
1)验证输入内容。
2)保存应用信息、实例信息、应用与实例关系信息。
3)开启统计功能(每分钟执行一次info命令)。 

13.6.3 Redis配置模板
该功能可以对每次开启的Redis节点添加配置模板,如图13-39为后台
Redis配置模板的管理页面。

可以看到Redis配置模板管理提供了对配置模板的增删改查功能,按照
Redis普通节点、Sentinel节点、Cluster节点分别展示。当管理员设置好认为
最好的配置时,可以点击“配置预览”,即可看到配置模板预览,如下所示。
但需要注意该功能是配置模板,不是修改线上配置。

Redis 普通节点配置,所用参数 port=6379,maxmemory=2048  配置模板预览 :
daemonize no
tcp-backlog 511
timeout 300
tcp-keepalive 60
loglevel notice
databases 16 … .

例如读者当前使用的是Redis3.2版本,那么就可以添加诸如protected-
mode、supervised、list-max-ziplist-size、list-compress-depth等3.2版本的新参
数。 

13.6.4 迁移工具
1.功能说明
数据迁移工具可以完成如下功能:
·支持在RDB文件、AOF文件、Redis Standalone、Redis Sentinel、Redis
Cluster,Cache-Cloud应用之间进行数据迁移,如图13-40所示支持任意两种
类型的数据源和目标进行数据迁移。
·数据迁移能够保证实时性,如果合理使用可以基本保证一致性。
·以可视化方式实现迁移流程控制。

图13-40 CacheCloud迁移工具

 2.CacheCloud数据迁移工具是如何实现的?
CacheCloud数据迁移工具底层使用的是唯品会公司开源的redis-migrate-
tool [1] 。
redis-migrate-tool是用C语言开发的Redis数据迁移工具,可以做到在
Standalone、Sentinel、Cluster、RDB、AOF之间迁移数据,服务于唯品会公
司数千个Redis节点,无论从数据迁移的准确性、稳定性、高效性等方面都
能满足生产环境的需求,所以CacheCloud选择它作为数据迁移的基础组件,
CacheCloud通过可视化的方式完成节点数据迁移、进度查询、日志查询、配
置查询、历史记录等功能。
redis-migrate-tool是基于复制的原理,将迁移工具伪装成从节点,所以
是实时迁移的,这点比起Redis自带的redis-trib.rb的import命令功能要强大很
多,如图13-41所示。

图13-41 CacheCloud迁移基本原理

 3.部署和使用
1)准备迁移工具所有的机器。为CacheCloud添加一台机器专门用于数
据迁移。只不过在CacheCloud添加机器时候,机器类型选取“Redis迁移工具
机器”。
运维提示
建议选择一台单独的机器作为迁移工具机器。
2)安装部署redis-migrate-tool:

#1. 进入 cachecloud 目录
cd /opt/cachecloud/
#2. 下载 redis-migrate-tool ,在写本书时还没有 release 版本,如果有了请自行替换
wget https:// github.com/vipshop/redis-migrate-tool/archive/master.zip -O master.zip
#3.  重命名解压等
unzip master.zip
mv redis-migrate-tool-master redis-migrate-tool
cd redis-migrate-tool
#4.  创建数据目录用来存储 redis-migrate-tool 配置和数据
mkdir -p data
#5.  编译
$ autoreconf -fvi
$ ./configure
$ make
#6.  验证安装成功
$ src/redis-migrate-tool -h
#7.  修改目录权限为 ssh 用户
chown -R {cachecloud-ssh-username}.{cachecloud-ssh-username} /opt/cachecloud/redis-
migrate-tool

4.添加迁移任务
选择迁移数据工具后,再点击添加新的迁移任务,即可看到如图13-42
的迁移工具界面。

 表单中左右两侧分别代表数据源节点和目标节点。两侧分别可以选择
Redis Cluster、Redis Sentinel、Redis Standalone、AOF、RDB,具体的节点列
表可以是ip:port列表也可以是CacheCloud的appId,只要按照列表下面的说
明格式填写即可。
格式验证后即可开启了一个迁移的任务。如图13-43所示,可以可视化
地观察迁移日志、关闭迁移任务、迁移状态查询,详情可以参考CacheCloud
官方博客和redis-migrate-tool的GitHub文档。

13.6.5 监控报警
如图13-44所示,CacheCloud有8个功能涉及短信和邮件接口,其中左侧
四个前面的章节已经进行了介绍,本节将介绍CacheCloud监控报警的相关业
务。 

1.短信和邮件接口
在正式介绍报警业务之前,有必要介绍一下后台的系统配置管理中两个
接口:邮件报警接口和短信报警接口。这两个接口为HTTP接口,这样接口
的实现就不会限于某种语言,它们是邮件和短信通知和报警的基础。
具体参数如表13-3所示。

表13-3 邮件和短信接口参数

 

 2.监控报警
监控报警的内容有:
1)应用日报。每天10点,所有CacheCloud用户会收到应用前一天的使
用状态,如图13-45所示,其中包含客户端相关统计和服务端相关统计,该
功能便于用户及时了解自身应用的使用状态。

图13-45 CacheCloud日报

 2)异常统计报警(邮件)。每天10点,所有CacheCloud管理员会收到
系统前一天的异常,如下所示:

CacheCloud 异常统计, 日期 :2016-09-16; 服务器 :10.16.14.181; 总数 :67:
java.util.concurrent.RejectedExecutionException=42
org.springframework.dao.DeadlockLoserDataAccessException=22
com.sohu.cache.exception.SSHException=2
org.springframework.dao.DataIntegrityViolationException=1

这样管理员可以了解CacheCloud服务端的一些运行状态,如果发现异常
较多,可以尽快处理。
3)Redis实例心跳(邮件和短信)。CacheCloud会每5分钟对所有Redis
节点做心跳检测(3次ping操作),如果检测失败(3次ping都失败),管理
员会收到Redis节点心跳停止的消息,例如下面就是appId=10001的某个节点
可能宕掉。
CacheCloud 系统 - 实例 (10.10.xx.1:6381)- 由运行中变为心跳停止 , appId:10001-ranking-online
如果下一次检测到Redis已经恢复(3次ping命令,有一次ping通),管
理员同样会收到Redis节点已经运行的消息,如下所示:
CacheCloud 系统 - 实例 (10.10.xx.1:6381)- 由心跳停止变为运行中 , appId:10001-ranking-online
需要注意的是,心跳停止和下线是两个概念,下线是管理员操作的,心
跳停止是Cachecloud判断的,Redis节点是否真的宕掉需要管理员确认。
4)应用内存和客户端连接数(邮件和短信)。CacheCloud会每隔20分
钟,检测应用以及应用下每个Redis节点的内存和客户端连接数是否超过预
设阀值(第一次申请应用和应用详情界面可以设置)。
例如应用总体内存超过阀值会收到如下消息:
应用 (10001)- 内存使用率报警 - 预设百分之 90- 现已达到百分之 92.88- 请及时关注
例如应用单个Redis节点超过内存预设阀值会收到如下消息:
分片 (10.10.xx.1:6380, 应用 (10001)) 内存使用率报警 - 预设百分之 90- 现已达到百分之 92.28- 应用的内存使用率百分之 88.99-
同样客户端连接数,也是如此同样会收到如下消息:
分片 (10.10.xx.1:6380, 应用 (10001)) 客户端连接数报警 - 预设 2500- 现已达到 2525- 请及时关注
5)机器性能报警(邮件和短信)。CacheCloud会每小时对机器的内
存、负载、CPU进行监控,一旦超过预设阀值,将会收到如下信息:
ip:10.10.xx.1 , load:10.79
机器报警阀值管理员只需要在后台的系统配置管理中,按照图13-46设
置即可。

注意
CacheCloud已经计划在后期的版本中加入机器信息详细统计以及相关报
警功能,保证功能完整性。

13.6.6 系统配置管理
本节对CacheCloud后台的系统配置管理进行汇总说明,如表13-4所示。

 

表13-4 CacheCloud系统配置管理说明表 

 


http://chatgpt.dhexx.cn/article/u9ESEdFx.shtml

相关文章

一文解决IDEA中文乱码问题

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;JAVA开发者…

idea中中文字体设置

此次设置idea中字体为中文雅黑字体 1.找到安装的idea路径中jdr的lib文件进去 E:\IntelliJ IDEA 2019.2\jbr\lib2.创建文件名及格式为fontconfig.properties的文件 3.复制以下代码进文件 # Versionversion1# Component Font Mappingsallfonts.chinese-ms936Microsoft Yahei a…

IDEA--解决IntelliJ IDEA中文乱码问题

1.首先是编辑器的乱码&#xff0c;这个很好解决&#xff0c;file->settings->appearence里面有个Name设置成支持中文的字 体(这个很重要) 同样还要再settings中的Eidtor->File Encodings里面设置字体编码格式&#xff0c;一般都是UTF-8&#xff0c;GBK什么的也行。 2.…

彻底解决Intellij IDEA中文乱码问题

关于JAVA IDE开发工具&#xff0c;Eclipse系列和Intelli IDEA是大部分公司的主要选择&#xff0c;从开发者的选择角度&#xff0c;Intellij IDEA似乎比Eclipse系列更受欢迎一些。当我们使用Intellij IDEA开发时&#xff0c;我们发现出现中文乱码问题&#xff0c;造成中文乱码的…

彻底解决idea中文乱码问题(不易发现的点,jdk问题)

这里提出一个由于jdk问题导致的中文乱码问题。 1.Setting中的各项都设置为utf-8 2.这里设置成这样&#xff0c;极低概率是这里的问题 3.右下角设置utf-8 4.Help-Edit custom VM options后面加上Dfile.encodingUTF-8 5.idea安装目录的bin文件中两个文件idea.exe.vmoptions 和…

IDEA:IDEA中文翻译插件的安装与使用

IDEA安装中文插件 一、打开设置 二、安装插件 三、插件设置 设置自己喜欢的翻译引擎 勾选翻译文档 四、效果 鼠标光标放上去就可以查看中文文档了 Shift Ctrl O&#xff1a;可以弹出翻译框 选中要翻译的文本&#xff0c;右键选择翻译或者使用快捷键&#xff1a;Shift Ctr…

2020版的idea中文插件安装

2020版的idea中文插件安装 1. 打开idea&#xff0c;进入创建project界面 2.选择中文插件 3.搜索Chinese插件 4.重启IDE 5.重新打开就是中文界面

idea无法识别中文

开始修改idea之前&#xff0c;建议先查看自己代码的编码格式&#xff0c;用Notepad打开之后&#xff0c;点击上方编码&#xff0c;就能看到编码格式。我是因为git的原因&#xff0c;导致拉下来的代码是默认编码&#xff0c;一个文件一个格式。修改git编码的方法自行百度。 在解…

IDEA更改中文字体

初始&#xff1a; 效果&#xff1a; 更改&#xff1a;file-settings&#xff0c;左侧搜索框中直接输入font&#xff0c;然后如下图&#xff0c;将字体改为SimHei&#xff0c;应用保存即可

IDEA中文乱码五种解决方法

1.IDEA安装目录找到 打开文件&#xff0c;末尾添加-Dfile.encodingUTF-8 2.IDEA设置 3.设置VM options为-Dfile.encodingUTF-8 4.打开在末尾添加-Dfile.encodingUTF-8 5.在.idea的文件夹里面有个encodings.xml 的文件&#xff0c;除了UTF-8 的都删了

Mac如何设置intellij idea中文

1、点击菜单栏的「IntelliJ IDEA」&#xff0c;再点击「Preferences…」打开软件的偏好设置 2、点击左侧导航的「Plugins」&#xff0c;在右侧的「Type / to see options」处输入「chinese」,找到「Chinese (Simplified) Language」点击「Install」 3、安装完成后点击「Restart…

解决IDEA中文字体大小不一

具体问题&#xff1a;中文显示不正常 问题原因&#xff1a; idea中的默认字体Consolas中没有中文字体&#xff0c;与IDEA版本有关&#xff0c;比如IDEA2019.2就容易出现这个问题。 解决方法&#xff1a; 依次点击 File > settings > Editor > Font 中…

idea中文显示乱码解决

中文乱码问题分类&#xff1a; 编码普通中文乱码properties文件中文乱码console控制台中文乱码搜索框中文乱码svn注释中文乱码问题截图&#xff1a; 2、properties文件中文乱码 4,、搜索框中文乱码 5、svn注释中文乱码 解决方法&#xff1a; 1、编码普通中文乱码 ①set…

IDEA中文切换回英文

如果使用IDEA插件进行汉化&#xff0c;切换回英文只需要把插件关闭即可。 可在文件->设置->插件->已安装&#xff0c;去除对勾然后重启就完成啦

关于IDEA中文乱码的解决办法

先说我遇到的问题&#xff0c;我在部署tomcat9时控制台System.out.println(“中文”)时乱码--------- 1.–> log4j的logger.info()控制台打印乱码 和 system.out.println()控制台打印乱码 解决方法为 配置Tomcat VM options值为&#xff1a;-Dfile.encodingUTF-8 但是 这是…

IDEA中文乱码解决

文章目录 1 现象2 排查方案2.1 项目设置2.2 文件设置2.3 应用配置2.4 IDEA配置2.5 运行配置2.6 其他 1 现象 我这里出现的现象是这样的 2 排查方案 2.1 项目设置 File-Settings-Editor-File Encodings 需要设置为UTF-8 2.2 文件设置 排查右下角的当前文件是否有问题 设…

IntelliJ IDEA中文插件

IntelliJ IDEA 官方发布了中文插件 Preferences -> plugins -> Marketplace -> 搜索 Chinese 就可以搜到了 早在7月21日就正式发布&#xff0c;发现很多同学还不知道&#xff0c;是官方插件了&#xff0c;在插件库就可以下载 发现虽然英文不怎么好&#xff0c;用惯…

idea中文转英文插件

插件介绍&#xff1a; Translation——用于IDEA内部英汉互译的插件 Translation - IntelliJ IDEs Plugin | Marketplace 插件快捷键命令&#xff1a;

IDEA中文乱码解决方法

文章目录 一、jsp页面或html页面&#xff08;适用于页面乱码&#xff09;二、tomcat或者idea导致的乱码&#xff08;适用于控制台乱码&#xff09;1.tomcat配置2.idea配置 三、配置字符编码过滤器四、参考资料 一、jsp页面或html页面&#xff08;适用于页面乱码&#xff09; 开…

IntelliJ IDEA如何设置为中文语言

三步搞定 操作步骤如下&#xff1a; ①在工具栏找到File选项&#xff0c;在下拉菜单中找到Settings选项&#xff0c;或者直接使用快捷键CtrlAltS打开设置窗口 ②选中Plugins(插件)&#xff0c;在搜索框输入Chinese&#xff0c;然后找到Chinese (Simplified) Language &#x…