Redis后台监控与管理CacheCloud
CacheCloud环境需求
- Java 7
- Maven 3
- MySQL
- Redis 3
具体用法可参考:https://cachecloud.github.io
1.下载CacheCloud
官网https://github.com/sohutv/cachecloud
下载cachecloud-master.zip
解压并移动cachecloud-master到/usr/local目录
2.在MySQL中创建库并授权

导入初始数据

3.编辑/usr/local/cachecloud-master/cachecloud-open-web/src/main/swap/online.properties文件

3.1在cachecloud根目录下运行
mvn clean compile install -Ponline
3.2创建/opt/cachecloud-web目录,并拷贝相关文件
mkdir -p /opt/cachecloud-web
cp cachecloud-open-web/target/cachecloud-open-web-1.0-SNAPSHOT.war /opt/cachecloud-web/
cp cachecloud-open-web/src/main/resources/cachecloud-web.conf /opt/cachecloud-web/
ln -s /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war /etc/init.d/cachecloudweb
4.启动cachecloud-web并通过http://IP:8585访问,用户名和密码admin
/etc/init.d/cachecloudweb start
5.使用cachecloud-init.sh安装redis和初始化,可根据需求修改脚本中redis的版本
6.在服务器上创建cachecloud SSH连接账号,和系统配置管理页面里的用户名和密码保持一致即可
useradd cachecloud
passwd cachecloud
6.1点击右上角管理后台—>机器管理,添加机器
6.2点击右上角导入应用
7.redis cluster安装(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点)
| 172.17.20.127 | redis-6379/1680 |
| 172.17.20.128 | redis-6381/6382 |
| 172.17.20.129 | redis-6383/6384 |
Redis 集群使用数据分片(sharding)而非一致性哈希(consistency hashing)来实现: 一个 Redis 集群包含 16384 个哈希槽(hash slot), 数据库中的每个键都属于这 16384 个哈希槽的其中一个, 集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽, 其中 CRC16(key) 语句用于计算键 key 的 CRC16 校验和 。集群中的每个节点负责处理一部分哈希槽。
下载编译安装redis
cp -pr redis redis-6380 #其他类似按照端口号复制
修改redis.conf
daemonize yes
port 6379 #其他配置改为6380/6381/6382/6383/6384pidfile /var/run/redis_6379.pid #其他配置按端口号修改
cluster-enabled yes
cluster-config-file nodes-6379.conf # 其他配置按端口号修改
cluster-node-timeout 15000
appendonly yes
创建配置文件软连接并启动redis
ln -s /opt/cachecloud/redis-6379/redis.conf /etc/redis-6379.conf #其他按照类似配置
分别启动集群redis
8.安装Redis 集群需要的Ruby工具
yum install ruby rubygems
gem install redis
进入reids目录下面运行
cd /opt/cachecloud/redis/src/
- redis-trib.rb的create子命令构建
- --replicas 1则指定了为Redis Cluster中的每个Master节点配备1个Slave节点
- 节点角色由顺序决定,先是master之后是slave
9.常用命令
查看集群情况
redis-trib.rb check ip:port #检查集群状态
redis-cli -c -h ip -p port #使用-c进入集群命令模式
redis-trib.rb rebalance ip:port --auto-weights #重新分配权重
增加、删除集群节点
redis-trib.rb add-node ip:port(新增节点) ip:port(现有效节点)
redis-trib.rb del-node ip:port id(目标节点的id) #删除master节点之前首先要使用reshard移除master的全部slot
重新划分slot
redis-trib.rb reshard ip:port
10.将master转换为salve
cluster replicate master-id #转换前6380端必须没有slots
11.模拟故障切换
杀死一个redis进程,观察FailOver情况
Redis集群通过选举方式进行容错,保证一台Server挂了还能跑,这个选举是全部集群超过半数以上的Master发现其他Master挂了后,会将其他对应的Slave节点升级成Master.
12.把redis cluster加入cachecloud

Redis后台监控与管理CacheCloud的更多相关文章
- redis/memcache监控管理工具——treeNMS
TreeNMS可以帮助您搭建起一套用于redis的监控管理系统,也支持Memcached,让您可以通过web的方式对数据库进行管理,有了它您就可以展示NOSQL数据库.编辑修改内容,另外还配备了sql ...
- 基于windows的Redis后台服务安装卸载管理
首先,需要你进入你的Redis解压根目录,例如,类似于我下图的这样子: 接着打开你的cmd,使用cd命令切换到该目录,或者直接在上图的地址栏输入“cmd”并回车.这里为什么让你先使用资源管理器找到你的 ...
- Redis 数据结构与内存管理策略(下)
Redis 数据结构与内存管理策略(下) 标签: Redis Redis数据结构 Redis内存管理策略 Redis数据类型 Redis类型映射 Redis 数据类型特点与使用场景 String.Li ...
- 笔记:Spring Boot 监控与管理
在微服务架构中,我们将原本庞大的单体系统拆分为多个提供不同服务的应用,虽然,各个应用的内部逻辑因分解而简化,但由于部署的应用数量成倍增长,使得系统的维护复杂度大大提升,为了让运维系统能够获取各个为服务 ...
- Spring Boot监控与管理的实现
认识Actuator 在SpringBoot应用中引入spring-boot-starter-actuator依赖,它可以为开发团队提供系统运行的各项监控指标. 在项目中引入依赖配置如下: appli ...
- Spring Boot 监控与管理
在微服务架构中,我们将原本庞大的单体系统拆分为多个提供不同服务的应用,虽然,各个应用的内部逻辑因分解而简化,但由于部署的应用数量成倍增长,使得系统的维护复杂度大大提升,为了让运维系统能够获取各个为服务 ...
- 170707、springboot编程之监控和管理生产环境
spring-boot-actuator模块提供了一个监控和管理生产环境的模块,可以使用http.jmx.ssh.telnet等拉管理和监控应用.审计(Auditing). 健康(health).数据 ...
- Springboot监控之一:SpringBoot四大神器之Actuator之3-springBoot的监控和管理--指标说明
Spring Boot包含很多其他的特性,它们可以帮你监控和管理发布到生产环境的应用.你可以选择使用HTTP端点,JMX或远程shell(SSH或Telnet)来管理和监控应用.审计(Auditing ...
- Spring Boot (27) actuator服务监控与管理
actuaotr是spring boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...
随机推荐
- 关于wepack的使用总结以及优化探讨
一.前言 不知不觉,webpack版本已经到4.0了.使用它也有很长一段时间了,回头看看,自己木有总结webpack方面的知识,现在有空起个头,主要是总结自己常用的配置和一下优化的探讨,以后有啥想法也 ...
- eclipse4.6.1安装SpringSource Tool Suite(sts-eclipse)插件
1. Spring Tool Suite(sts)简介 Spring Tool Suite(sts)就是一个基于Eclipse的开发环境, 用于开发Spring应用程序.它提供了一个现成的使用环境来实 ...
- Hive 表类型简述
Hive 表类型简述 表类型一.管理表或内部表Table Type: MANAGED_TABLE example: create table Inner(id int,name string, ...
- 以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要。 这一篇文章主要关于java多线程一些常见的疑惑点。因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,嘻嘻嘻、大家可以去参考一些那些书籍。我这个文章主要关于实际的一些问题。同时也算是我以后复习的资料吧,。还请大家多多指教。 同时希望多结交一些技术上的朋友。谢谢。
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 以下就是我们常见的问题了: 1. 为什么我们不能直接调用run()方法呢? 我的理解是:线程的运行 ...
- Swagger2限定接口范围
前面在使用Swagger2时遇到的坑中简单介绍了Swagger的使用. 不过默认情况下,Swagger2会把项目中的所有接口都展示在列表里,特别是你用了Springboot/SpringCloud之后 ...
- 【23】备忘录模式(Memento Pattern)
一.引言 在上一篇博文分享了访问者模式,访问者模式的实现是把作用于某种数据结构上的操作封装到访问者中,使得操作和数据结构隔离.而今天要介绍的备忘者模式与命令模式有点相似,不同的是,命令模式保存的是发起 ...
- IIS7下,显示PHP错误(不显示500错误,而显示详细错误)
玛德,IIS就是个坑,害得老子进行摸索了那么久,才找到了解决方法: 1.除了将php.ini配置为: display_errors = on; error_reporting = E_ALL & ...
- 10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)、分层采样(Stratification)
10折交叉验证 我们构建一个分类器,输入为运动员的身高.体重,输出为其从事的体育项目-体操.田径或篮球. 一旦构建了分类器,我们就可能有兴趣回答类似下述的问题: . 该分类器的精确率怎么样? . 该分 ...
- vue 父子组件互相传值容易出现的报错
对于父子组件之间的互相传值,报错如下: [Vue warn]: Avoid mutating a prop directly since the value will be overwritten w ...
- php获取数据库中数据
<?php header("Content-type:text/html;charset=utf-8");//字符编码设置 $servername = "local ...








