一 基本介紹
https://github.com/sohutv/cachecloud
二 安裝準(zhǔn)備
CacheCloud需要以下環(huán)境:
JDK 7+
Maven 3
MySQL 5.7
Redis 4
JDK和Maven不在說(shuō)明逐样,
MySQL 請(qǐng)參考:
http://www.cnblogs.com/starof/p/4680083.html
http://www.reibang.com/p/bb43fe520315
Redis 4
請(qǐng)參考我的前面記錄:
http://www.reibang.com/p/c8a957413284
三 初始化部署
下載CacheCloud
官網(wǎng)https://github.com/sohutv/cachecloud
進(jìn)入到/usr/local目錄
git clone https://github.com/sohutv/cachecloud.git
cd cachecloud初始化數(shù)據(jù)庫(kù)
1)在MySQL中創(chuàng)建庫(kù)并授權(quán)
mysql>create database cachecloud;
mysql>grant all on cachecloud.* to 'admin'@'localhost' identified by 'admin';
mysql>flush privileges;
2) 導(dǎo)入初始數(shù)據(jù)
mysql>use cachecloud;
mysql>source /usr/local/cachecloud/script/cachecloud.sql;
3)編輯/usr/local/cachecloud/cachecloud-open-web/src/main/swap/online.properties
和local.properties
cachecloud.db.url = jdbc:mysql://127.0.0.1:3306/cachecloud
cachecloud.db.user = admin
cachecloud.db.password = admin
cachecloud.maxPoolSize = 20
isClustered = true
isDebug = false
spring-file=classpath:spring/spring-online.xml
log_base=/opt/cachecloud-web/logs
web.port=8585
log.level=WARN
四 啟動(dòng)cachecloud系統(tǒng)
- 源碼部署:可以進(jìn)行二次開(kāi)發(fā)和配置修改
1). 本地啟動(dòng):
在cachecloud根目錄下運(yùn)行
mvn clean compile install -Plocal
在cachecloud-open-web模塊下運(yùn)行
mvn spring-boot:run
2). 生產(chǎn)環(huán)境
在cachecloud根目錄下運(yùn)行
mvn clean compile install -Ponline
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/
mv /opt/cachecloud-web/cachecloud-web.conf /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.conf
啟動(dòng)方法1(作為系統(tǒng)服務(wù)啟動(dòng)岗宣,可能存在系統(tǒng)兼容性問(wèn)題学歧,目前redhat6.5,centos7正常)
ln -s /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war /etc/init.d/cachecloud-web
/etc/init.d/cachecloud-web start
啟動(dòng)方法2(使用腳本啟動(dòng),大部分操作系統(tǒng)都正常)
cp script/start.sh /opt/cachecloud-web/
cp script/stop.sh /opt/cachecloud-web/
sh start.sh #如果機(jī)器內(nèi)存不足嘹悼,可以適當(dāng)調(diào)小:-Xmx和-Xms(默認(rèn)是4g)
sh stop.sh
2.二進(jìn)制文件:直接啟動(dòng)
下載對(duì)應(yīng)release版本的環(huán)境,例如1.2葵第,將其在/opt下解壓绘迁,解壓后文件目錄如下
cachecloud-open-web-1.0-SNAPSHOT.war: cachecloud war包
cachecloud.sql: 數(shù)據(jù)庫(kù)schema,默認(rèn)數(shù)據(jù)名為cache_cloud卒密,可以自行修改
jdbc.properties:jdbc數(shù)據(jù)庫(kù)配置缀台,自行配置
start.sh:?jiǎn)?dòng)腳本
stop.sh: 停止腳本
logs:存放日志的目錄
默認(rèn)端口是8585,可以修改start.sh中的server.port進(jìn)行重置
- 登錄確認(rèn)
(1) 訪問(wèn):http://127.0.0.1:9999/manage/login (9999是tomcat的端口號(hào)哮奇,具體要參考第三節(jié)中的online.properties和local.properties中的web.port)
(2) 如果訪問(wèn)正常膛腐,請(qǐng)使用用戶名:admin、密碼:admin訪問(wèn)系統(tǒng)鼎俘,跳轉(zhuǎn)到應(yīng)用列表下:
五 管理Redis集群
使用cachecloud-init.sh安裝redis和初始化哲身,可根據(jù)需求修改腳本中redis的版本
chmod +x /usr/local/cachecloud/script/cachecloud-init.sh
/usr/local/cachecloud/script/cachecloud-init.sh redis在服務(wù)器上創(chuàng)建cachecloud SSH連接賬號(hào),和系統(tǒng)配置管理頁(yè)面里的用戶名和密碼保持一致即可
useradd cachecloud
passwd cachecloud點(diǎn)擊右上角管理后臺(tái)—>機(jī)器管理贸伐,添加機(jī)器
4.redis cluster安裝(要讓集群正常工作至少需要3個(gè)主節(jié)點(diǎn)勘天,在這里我們要?jiǎng)?chuàng)建6個(gè)redis節(jié)點(diǎn),其中三個(gè)為主節(jié)點(diǎn)捉邢,三個(gè)為從節(jié)點(diǎn))
我使用已安裝的redis cluster 系統(tǒng)脯丝。
- 點(diǎn)擊右上角導(dǎo)入應(yīng)用
如果成功》ィ可見(jiàn)下面類似界面:
五 問(wèn)題:
- machine_info缺少collect字段
### SQL: select id, modify_time, ssh_user,ssh_passwd,ip,room,mem,cpu,`virtual`,real_ip,service_time,fault_count,warn,available,type,groupId,extra_desc,collect from machine_info where available = 1
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'collect' in 'field list'
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'collect' in 'field list'] with root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'collect' in 'field list'
解決辦法:
增加此字段
alter table machine_info add collect int(11) NOT NULL DEFAULT '0' COMMENT '是否收集服務(wù)器信息宠进,0否,1是';