【前言】
最近小编所在的项目中用到了redis的集群,用到了redis那肯定要有redis的管理工具,所以小编正在学习一个检测redis的工具.
【正文】
CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端。
Redis多机(Redis-Sentinel, Redis-Cluster)部署和配置相对比较复杂,较容易出错。例如:100个redis数据节点组成的redis-cluster集群,如果单纯手工安装,既耗时又容易出错。
作为一个Redis管理员(可以看做redis DBA)需要帮助开发者管理上百个Redis-Cluster集群,分布在数百台机器上,人工维护成本很高,需要自动化运维工具。
一些开源的Redis监控和管理工具,例如:RedisLive(Python)、Redis Commander(Node.js),Redmon(Ruby)无论从功能的全面性(例如配置管理,支持Redis-Cluster等等)、扩展性很难满足需求。
Redis的使用者需要维护各自的Redis,但是用户可能更加善于使用Redis实现各种功能,但是没有足够的精力和经验维护Redis。Redis的开发人员如同使用MySQL一样,不需要运维Mysql服务器,同样使用Redis服务,不要自己运维Redis,Redis由一些在Redis运维方面更有经验的人来维护(保证高可用,高扩展性),使得开发者更加关注于Redis使用本身。
本产品支持Redis最新的Redis-Sentinel、Redis-Cluster集群机构,既满足Redis高可用性、又能满足Redis的可扩展性,具有较强的容量和性能伸缩能力。
机器利用率低,各个项目组的Redis较为分散的部署在各自服务器上,造成了大量闲置资源没有有效利用。
各个项目的Redis使用各种不同的版本,不便于管理和交互。
导入项目中cachecloud.sql初始化库表结构,默认插入admin超级管理员。
使用了maven作为项目构建的工具,提供了 local.properties和online.properties两套配置作为测试、线上的隔离。 属性配置说明:
属性名 | 说明 | 示例 |
---|---|---|
cachecloud.db.url | mysql驱动url | jdbc:mysql://127.0.0.1:3306/cache-cloud |
cachecloud.db.user | mysql用户名 | admin |
cachecloud.db.password | mysql密码 | admin |
web.port | spring-boot内嵌tomcat启动端口 | 测试9999,线上8585(可修改) |
mvn clean compile install -Plocal
mvn spring-boot:run
2) 生产环境下
mvn clean compile install -Ponline
例如当前cachecloud根目录在/data下,执行如下操作即可:
sh deploy.sh /data
deploy.sh 脚本会见编译后的cachecloud工程包,配置,启动脚本拷贝到/opt/cachecloud-web目录下:
当一切准备好之后,可以执行 sh /opt/cachecloud-web/start.sh来启动cachecloud:
sh /opt/cachecloud-web/start.sh
cachecloud启动成功后,访问http://localhost:8585,即可看见登录界面.
4.添加机器
1. 运行脚本:
cachecloud项目中的cachecloud-init.sh(目录:cachecloud-open-web\src\main\resources\script\cachecloud-init.sh)脚本是用来初始化服务器的cachecloud环境,主要工作如下:
(a). 创建cachecloud项目用户:因为cachecloud项目的部分功能(redis启动、服务器监控)是通过ssh完成的,所以这里的用户和密码要和项目中的相对应,具体详见第三节。
(b). 创建cachecloud项目的工作目录、数据目录、配置目录、日志目录、redis安装目录、临时目录等等。(/opt/cachecloud/data、/opt/cachecloud/conf、/opt/cachecloud/logs、/opt/cachecloud/redis、/tmp/cachecloud)
(c). 安装最新的release版本的Redis
操作说明
功能界面
管理员登录后,可以点击右侧下拉菜单中的导入应用就可以进行导入应用界面
具体选项说明
实例详情: 导入Redis实例详情
单点: ip:端口:maxmemory大小(要以M为单位),例如127.0.0.1:6379:1024
1
|
10.10.1.1:
6379:
1024
|
sentinel:
数据节点=>ip:端口:maxmeory大小(要以M为单位),例如127.0.0.1:6379:1024(不分主从)
sentinel节点=>ip:端口:masterName,例如127.0.0.1:26379:myMasterName
例如:
1
2
3
4
5
|
10.10.1.1:
8000:
1024
10.10.1.2:
8001:
1024
10.10.1.4:
26379:myMasterName
10.10.1.5:
26380:myMasterName
10.10.1.6:
26381:myMasterName
|
cluster: 每行都是数据节点,不分主从,例如:
1
2
3
4
5
6
|
10.10.1.1:
6379:
1024
10.10.1.2:
6380:
1024
10.10.1.3:
6381:
1024
10.10.1.4:
6382:
1024
10.10.1.5:
6383:
1024
10.10.1.6:
6384:
1024
|