CacheCloud是做什么的
CacheCloud提供一個Redis雲管理平台:實現多種類型(Redis Standalone、Redis Sentinel、Redis Cluster)自動部署、解決Redis實例碎片化現象、提供完善統計、監控、運維功能、減少運維成本和誤操作,提高機器的利用率,提供靈活的伸縮性,提供方便的接入客戶端。
github地址:https://github.com/sohutv/cachecloud#cc7
CacheCloud提供哪些功能
- 監控統計:提供了機器、應用、實例下各個維度數據的監控和統計界面。
- 一鍵開啟:Redis Standalone、Redis Sentinel、Redis Cluster三種類型的應用,無需手動配置初始化。
- Failover:支持哨兵,集群的高可用模式。
- 伸縮:提供完善的垂直和水平在線伸縮功能。
- 完善運維: 提供自動運維和簡化運維操作功能,避免純手工運維出錯。
- 方便的客戶端 方便快捷的客戶端接入。
- 元數據管理: 提供機器、應用、實例、用戶信息管理。
- 流程化: 提供申請,運維,伸縮,修改等完善的處理流程
- 一鍵導入: 一鍵導入已經存在Redis
CacheCloud解決什么問題
1.部署成本
Redis多機(Redis-Sentinel, Redis-Cluster)部署和配置相對比較復雜,較容易出錯。例如:100個redis數據節點組成的redis-cluster集群,如果單純手工安裝,既耗時又容易出錯。
2.實例碎片化
作為一個Redis管理員(可以看做redis DBA)需要幫助開發者管理上百個Redis-Cluster集群,分布在數百台機器上,人工維護成本很高,需要自動化運維工具。
3. 監控、統計和管理不完善
一些開源的Redis監控和管理工具,例如:RedisLive(Python)、Redis Commander(Node.js),Redmon(Ruby)無論從功能的全面性(例如配置管理,支持Redis-Cluster等等)、擴展性很難滿足需求。
4. 運維成本
Redis的使用者需要維護各自的Redis,但是用戶可能更加善於使用Redis實現各種功能,但是沒有足夠的精力和經驗維護Redis。Redis的開發人員如同使用MySQL一樣,不需要運維Mysql服務器,同樣使用Redis服務,不要自己運維Redis,Redis由一些在Redis運維方面更有經驗的人來維護(保證高可用,高擴展性),使得開發者更加關注於Redis使用本身。
5. 伸縮性
本產品支持Redis最新的Redis-Sentinel、Redis-Cluster集群機構,既滿足Redis高可用性、又能滿足Redis的可擴展性,具有較強的容量和性能伸縮能力。
6. 經濟成本
機器利用率低,各個項目組的Redis較為分散的部署在各自服務器上,造成了大量閑置資源沒有有效利用。
7. 版本不統一
各個項目的Redis使用各種不同的版本,不便於管理和交互。
快速開始
快速啟動
參考地址:https://github.com/sohutv/cachecloud/wiki/3.服務器端接入文檔
1、從github上下載項目,github地址:https://github.com/sohutv/cachecloud#cc7
2、導入eclipse中,如下:
3、使用mysql數據庫,新建數據庫:cache-cloud,導入初始化數據庫腳本,腳本地址:cachecloud/script/cachecloud.sql
4、修改相關配置信息,配置文件地址:cachecloud/cachecloud-open-web/src/main/swap/local.properties
1 cachecloud.db.url = jdbc:mysql://127.0.0.1:3306/cache-cloud 2 cachecloud.db.user = cachecloud 3 cachecloud.db.password = 4 cachecloud.maxPoolSize = 20 5 6 isClustered = true 7 isDebug = true 8 spring-file = classpath:spring/spring-local.xml 9 log_base = /opt/cachecloud-web/logs 10 web.port = 9999 11 log.level = INFO
5、本地啟動:
- 在cachecloud根目錄下運行
1 mvn clean compile install -Plocal
- 在cachecloud-open-web模塊下運行
1 mvn spring-boot:run


機器管理
1、機器初始化Redis環境
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
腳本執行
- (a). 使用root登錄目標服務器。
- (b). 將cachecloud-init.sh腳本拷貝到目標服務器當前用戶目錄下。
- (c). 執行 sh cachecloud-init.sh ${yourusername}
- (d). 兩次確認密碼
- (e). 一路安裝直到成功。
2、在cachecloud界面右上角-〉cachecloud管理后台-〉系統配置管理-〉修改配置信息,如用戶名和密碼
3、cachecloud管理后台-〉機器管理-〉添加一台機器
4、新建一個用戶,使用新用戶登錄,並申請一個應用
5、切換admin管理員登錄,審核應用,即可創建redis應用,並可以進行管理
生產環境啟動
- 在cachecloud根目錄下運行
- 拷貝war包(cachecloud-open-web/target/cachecloud-open-web-1.0-SNAPSHOT.war)到/opt/cachecloud-web下
- 拷貝配置文件(cachecloud-open-web/src/main/resources/cachecloud-web.conf)到/opt/cachecloud-web下,並改名為cachecloud-open-web-1.0-SNAPSHOT.conf(spring-boot要求,否則配置不生效)
- 啟動方法1(作為系統服務啟動,可能存在系統兼容性問題,目前redhat6.5,centos7正常)
/etc/init.d/cachecloud-web start
- 啟動方法2(使用腳本啟動,大部分操作系統都正常) 拷貝啟動腳本(cachecloud根目錄下script目錄下的start.sh和stop.sh)到/opt/cachecloud-web下
sh start.sh #如果機器內存不足,可以適當調小:-Xmx和-Xms(默認是4g)
sh stop.sh