目标:
redis作为流行的缓存数据库,被众多企业使用,但是对于中小型企业来说,日益增多的redis服务器,如何管理是个问题。本系列文章就搜狐视频开源的CacheCloud云平台进行深入讲解。通过从安装到源码讲解,让你深入了解实现原理。
CacheCloud可以做什么?
cacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少运维成本和误操作,提高机器的利用率,提供灵活的伸缩
性,提供方便的接入客户端。官方功能结构图如下:
下载源代码:
git clone https://github.com/sohutv/cachecloud
- cachecloud-open-client:客户端开发的sdk工具
- cachecloud-open-common:包含了一些工具类、枚举和共用组件(比如发送邮件、短信和用户登录等)
- cachecloud-open-web:cachecloud运维管理平台
- script:包含了数据库脚本、redis服务器初始化脚本和应用启动、停止、部署等脚本
初始化数据库:
数据库脚本cachecloud.sql位置:
修改项目的数据库地址:
- local.properties:本地运行数据库配置
- online.properties:线上部署数据库配置
将cachecloud.db.url 、cachecloud.db.user、cachecloud.db.password 修改成自己的数据库参数
启动CacheCloud服务:
在项目根目录下运行:
mvn clean compile install -Plocal
-P:指定运行环境的数据库配置
本地部署:
在cachecloud-open-web目录下运行:
mvn springboot:run
线上部署:
将 start.sh、deploy.sh、stop.sh、cachecloud-web.conf、cachecloud-open-web-1.0-SNAPSHOT.war通过xft工具上传到服务器的/opt/cachecloud-web目录下
cachecloud-web.conf 位置:
mkdir /opt/cachecloud-web
cd /opt/cachecloud-web
mkdir logs
mv cachecloud-web.conf cachecloud-open-web-1.0-SNAPSHOT.conf
sh start.sh
注意(启动报错参考以下解决方式):
- cachecloud-web.conf的名称必须和项目的war包名称相同
- 执行sh start.sh 可能会出现错误: start.sh: line 2: $’\r’: command not found,需要在编辑模式下执行set ff=unix命令,然后回车,最后:wq保存退出即可
- 如果是虚拟机需要修改start.sh中的JVM配置参数,设置JVM最大可用内存为512M,设置JVM启动时堆的初始化大小为512M:
登录系统
系统启动成功后,访问服务器地址,通过系统管理员账号登录(管理员账号/密码:admin/admin)
访问失败原因:
-
防火墙原因:
参考:防火墙问题解决方式
登录成功后页面如下:
初始化redis服务器:
添加机器: 
将cachecloud-init.sh上传到redis服务器,然后使用root用户执行以下命令(cachecloud是用户名,你可以自己修改,但是要和管理平台的对应,用户密码同理):
sh cachecloud-init.sh cahcecloud
添加成功后页面:
普通用户注册:
普通用户注册后,管理员可以在流程审批模块进行审批
redis申请与分配:
用户申请:
用户申请redis以后,管理员在流程审批模块审批处理
点击审批处理,进入处理页面:
注意:
- 部署之前要检查相应的端口是否打开,否则会部署失败
部署成功后页面:
点击通过按钮,然后redis就分配成功了
在申请者页面可以查看:
点击应用名,进入详细信息页面:
可以通过接入代码模块的示例进行客户端接入:
上面的maven 依赖是之前源码包里面的Client ,使用时需要上传到公司内部的私服。 这里面需要注意的是,需要修改Client 源码包中的CacheCloud的服务地址:
到此,CacheCloud 的 安装和使用就介绍完了。