一 基本介绍
https://github.com/sohutv/cachecloud
二 安装准备
CacheCloud需要以下环境:
JDK 7+
Maven 3
MySQL 5.7
Redis 4
JDK和Maven不在说明,
MySQL 请参考:
http://www.cnblogs.com/starof/p/4680083.html
http://www.jianshu.com/p/bb43fe520315
Redis 4
请参考我的前面记录:
http://www.jianshu.com/p/c8a957413284
三 初始化部署
-
下载CacheCloud
官网https://github.com/sohutv/cachecloud
进入到/usr/local目录
git clone https://github.com/sohutv/cachecloud.git
cd cachecloud -
初始化数据库
1)在MySQL中创建库并授权
mysql>create database cachecloud;
mysql>grant all on cachecloud.* to 'admin'@'localhost' identified by 'admin';
mysql>flush privileges;
2) 导入初始数据
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
四 启动cachecloud系统
- 源码部署:可以进行二次开发和配置修改
1). 本地启动:
在cachecloud根目录下运行
mvn clean compile install -Plocal
在cachecloud-open-web模块下运行
mvn spring-boot:run
2). 生产环境
在cachecloud根目录下运行
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
启动方法1(作为系统服务启动,可能存在系统兼容性问题,目前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
启动方法2(使用脚本启动,大部分操作系统都正常)
cp script/start.sh /opt/cachecloud-web/
cp script/stop.sh /opt/cachecloud-web/
sh start.sh #如果机器内存不足,可以适当调小:-Xmx和-Xms(默认是4g)
sh stop.sh
2.二进制文件:直接启动
下载对应release版本的环境,例如1.2,将其在/opt下解压,解压后文件目录如下
cachecloud-open-web-1.0-SNAPSHOT.war: cachecloud war包
cachecloud.sql: 数据库schema,默认数据名为cache_cloud,可以自行修改
jdbc.properties:jdbc数据库配置,自行配置
start.sh:启动脚本
stop.sh: 停止脚本
logs:存放日志的目录
默认端口是8585,可以修改start.sh中的server.port进行重置
- 登录确认
(1) 访问:http://127.0.0.1:9999/manage/login (9999是tomcat的端口号,具体要参考第三节中的online.properties和local.properties中的web.port)
(2) 如果访问正常,请使用用户名:admin、密码:admin访问系统,跳转到应用列表下:
图片.png五 管理Redis集群
-
使用cachecloud-init.sh安装redis和初始化,可根据需求修改脚本中redis的版本
chmod +x /usr/local/cachecloud/script/cachecloud-init.sh
/usr/local/cachecloud/script/cachecloud-init.sh redis -
在服务器上创建cachecloud SSH连接账号,和系统配置管理页面里的用户名和密码保持一致即可
useradd cachecloud
passwd cachecloud -
点击右上角管理后台—>机器管理,添加机器
4.redis cluster安装(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点)
我使用已安装的redis cluster 系统。
- 点击右上角导入应用
如果成功。可见下面类似界面:
图片.png五 问题:
- 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 '是否收集服务器信息,0否,1是';
网友评论