Cachecloud
github地址
https://github.com/sohutv/cachecloud
搭建环境
主机 | IP | Java 7 | Maven 3 | MySQL | Redis 3 |
---|---|---|---|---|---|
cachecloud manage | 192.168.197.61 | V | V | V | X |
redis client | 192.168.197.62 | X | X | X | V |
cachecloud安装
说明:安装cachecloud之前需要在机器上安装maven、jdk、mysql软件的步骤不做说明,测试软件安装路径为:/opt。
下载
# cd /opt/
# git clone https://github.com/sohutv/cachecloud.git
表结构导入
mysql> create database cachecloud character set utf8;
mysql> use cachecloud;
mysql> source /opt/cachecloud/script/cachecloud.sql;
安装cachecloud
修改程序配置文件
# cat /opt/cachecloud/cachecloud-open-web/src/main/resources/cachecloud-web.conf
PID_FOLDER=/opt/cachecloud-web
LOG_FOLDER=/opt/cachecloud-web/logs
LOG_FILENAME=cachecloud-web.log
APP_NAME=cachecloud-web
RUN_ARGS=
JAVA_HOME=/opt/jdk1.7.0_45
JAVA_OPTS="-server -Xmx1g -Xms1g -Xss256k -XX:MaxDirectMemorySize=1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=40 -XX:+PrintGCDateStamps -Xloggc:/opt/cachecloud-web/logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/cachecloud-web/logs/java.hprof -XX:+DisableExplicitGC -XX:-OmitStackTraceInFastThrow -XX:+PrintCommandLineFlags -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.util.Arrays.useLegacyMergeSort=true -Dfile.encoding=UTF-8 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=22099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
# cat /opt/cachecloud/cachecloud-open-web/src/main/swap/online.properties
cachecloud.db.url = jdbc:mysql://localhost: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
maven打包
# pwd
/opt/cachecloud
# mvn clean compile install -Ponline
部署
# sh script/deploy.sh /opt
启动
# cd /opt/cachecloud-web/
# sh start.sh
Starting the cachecloud ....OK!
PID: 2643
STDOUT: /opt/cachecloud-web/logs/cachecloud-web.log
注意需要将start.sh文件中程序的内存分配根据实际的情况分配,我这边是调整是1G的程序内存。
如果程序启动成功在浏览输入:http://192.168.197.61:8585 进行访问,默认帐号密码都是admin。
redis client安装
yum install -y gcc
useradd cachecloud
echo "cachecloud" |passwd --stdin cachecloud
mkdir -p /opt/cachecloud/data
mkdir -p /opt/cachecloud/conf
mkdir -p /opt/cachecloud/logs
mkdir -p /opt/cachecloud/redis
mkdir -p /tmp/cachecloud
cd /opt/cachecloud/redis
wget wget http://download.redis.io/releases/redis-3.0.7.tar.gz && mv redis-3.0.7.tar.gz redis.tar.gz && tar zxvf redis.tar.gz --strip-component=1
make
echo "export PATH=$PATH:/opt/cachecloud/redis/src" >/etc/profile.d/redis.sh
source /etc/profile.d/redis.sh
chown -R cachecloud.cachecloud /opt/cachecloud/
chown -R cachecloud.cachecloud /tmp/cachecloud/
使用举例
帐号申请

再点击提交申请后需要登录admin帐号进行设置。注意cachecloud还有个管理的后台,进入方式是:点击右上角的帐号-->在点击管理后台即可进入。

点击OK以后就可以通过申请的帐号进行登录,注意cachecloud登录是默认的新申请的帐号是不要密码就能登录的。如果需要密码则需要进行二次开发。
申请应用
通过刚才申请的 帐号登录后台后点击右上角进入应用申请界面。

剩下的信息根据实际需求填写,然后点击最下面的提交申请。
添加主机
cachecloud是通过ssh 的帐号密码进行通信的,所以我们在redis client创建的帐号和密码必须要和管理后台访问的帐号密码一致。


创建应用

进入创建应用界面后在最下面进行机器信息的配置,安装前需要做格式检查,检查通过在进行部署。

部署成功后点击确定会自动跳转到审批列表,点击通过之后就可以使用了。

代码接入
登录申请用户选择刚才创建的应用,在后台会显示如下:

代码接入信息:

# curl http://192.168.197.61:8585/cache/client/redis/cluster/10000.json?clientVersion=1.0-SNAPSHOT
{"message":"appId:10000 client is up to date, Cheers!","shardNum":6,"appId":10000,"status":1,"shardInfo":"192.168.197.62:6379 192.168.197.62:6380 192.168.197.62:6381 192.168.197.62:6382 192.168.197.62:6383 192.168.197.62:6384"}