目標:
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目錄下
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 的 安裝和使用就介紹完了。