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请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...
随机推荐
- SpringBoot(2) Json框架 -- Jackson返回结果处理
一.常用框架 阿里 fastjson,谷歌gson等 JavaBean序列化为Json,性能:Jackson > FastJson > Gson > Json-lib 同个结构 Ja ...
- scikit-learn入门导航
scikit-learn是一个非常强大的机器学习库, 提供了很多常见机器学习算法的实现. scikit-learn可以通过pip进行安装: pip install -U scikit-learn 不过 ...
- [JLOI 2016]成绩比较
Description 题库链接( \(\text{bzoj}\) 不知道为什么过不了啊... \(\text{luogu loj}\) 都能过...就给 \(\text{luogu}\) 的链接了. ...
- c++中虚函数和多态性
1.直接看下列代码: #include <iostream> using namespace std; class base{ public: void who(){ cout<&l ...
- Python 的几种推导式
推导式 comprehensions(又称解析式):是 Python 中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 1. 列表推导式 2. 字典推导式 3. 集合推导式 对以上 ...
- c# 数字之间的计算
1.c# 65*1.0F/102=0.637254901960784 2.mysql TRUNCATE(65/102,9) 9代表的是保留几位小数 3.多张表关联,修改某张表的字段 UPDATE s ...
- 【github&&git】1、github中的watch、star、fork的作用
[转自:http://www.jianshu.com/p/6c366b53ea41] 在每个 github 项目的右上角,都有三个按钮,分别是 watch.star.fork,但是有些刚开始使用 gi ...
- Android ThreadPoolExecutor线程池
引言 Android的线程池概念来自于Java的Executor,真正的线程池实现为ThreadPoolExecutor.在Android中,提供了4类不同的线程池,具体下面会说到.为什么使用线程池呢 ...
- LintCode Binary Search
For a given sorted array (ascending order) and a target number, find the first index of this number ...
- layui 图片上传+表单提交+ Spring MVC
Layui 的上传是最常用的, 不可或缺, 记录一下代码, 以后复制都能用!! 1.前端HTML: <div class="layui-form-item"> < ...








