本次操作使用root賬號
操作系統版本:centos7.x 三台
安裝依賴版本:
mysql 5.7
java 1.8
maven 3.6
cachecloud 2.0
一、cachecloud
1、下載cachecloud軟件包
git clone https://github.com/sohutv/cachecloud
cd cachecloud
mvn clean package // 這里需要提前配置號maven和jdk
下圖是maven編譯成功的截圖
或者直接下載web jar包
wget http://47.97.112.178/redis-ecs/cachecloud-web.war
對於該平台來說,主要就是這個war包,所以可以不用自己手動編譯。
2、創建數據庫
create database cachecloud_open;
3、導入建表語句
use cachecloud_open;
source /data1/cachecloud/cachecloud-web/sql/2.0.sql;
source /data1/cachecloud/cachecloud-web/sql/update2.0-2.1.sql;
記得把update2.0-2.1.sql里面的create or replace table app_import改成create table app_import,否則報錯
4、拷貝配置文件到web war包目錄
我這里是源碼編譯安裝的,所以war包目錄是在如下目錄:
cachecloud-web/target/cachecloud-web.war
copy 包
cp cachecloud-web/src/main/resources/application-open.yml cachecloud-web/target/
修改配置
cd cachecloud-web/target/
修改application-open.yml,主要修改紅框部分
5、啟動測試
java -jar -Dspring.profiles.active=open cachecloud-web.war
上面這個在測試的時候可以看到一些詳細信息,如果是已經確定沒用任何問題,生成環境可以使用下面這樣
nohup java -jar -Dspring.profiles.active=open cachecloud-web.war &
6、登錄
用戶名/密碼:admin/admin
二、添加機器
1、官網下載redis
wget https://download.redis.io/releases/redis-6.2.3.tar.gz
這里下載最新版的6.2.3
把該軟件包上傳到服務器的/tmp目錄下
2、使用自帶的腳本進行初始化
腳本路徑:/data1/cachecloud/redis-ecs/script/cachecloud-init.sh
修改腳本:
主要修改如下:
1、修改版本
把該數組的值直接改成你需要使用到的版本。
2、注釋auth_key
下面兩行注釋掉,否則執行腳本的時候,由於這里不存在文件,會導致報錯,,退出
3、替換安裝包
其中使用#注釋的這一行是原本存在的,現在使用#注釋,同時添加#注釋下面的這一行。
4、執行腳本
bash cachecloud-init.sh cachecloud-open
出現上述的提示說明安裝成功。
注:
在腳本里面明確注釋了# Redis6.0及以上版本需要依賴操作系統gcc 4.9.0以上版本編譯,所以在生產環境,需要注意編譯器版本,或者降低redis版本
3、這里說明一下,另外三個腳本
redis-install.sh redisShake-install.sh ssh-keygen.sh
redis-install.sh: 用於安裝單個redis,就是把cachecloud-init.sh腳本里面的installRedis這塊函數拿出來,同時版本指定為5.0.9了。其他的像系統設置沒有做;
redisShake-install.sh: 主要是做數據遷移的
ssh-keygen.sh:這個就是為用戶cachecloud-open生產密鑰了。
上面生產這個密鑰的腳本,主要是用於系統配置這塊,如果選擇public key,那么就需要用到該腳本,或者自己手動生成密鑰也行,默認是使用passwd的方式,當然,在添加機器的時候,要注意所有的機器用戶cachecloud-open密碼是一致的:
4、添加機器
這里只是安裝了類似監控的界面,但是具體監控的(像服務啊,主機啊什么的)並沒用添加到監控列表。所以這里需要添加主機:
4.1 點擊admin--> 管理后台
4.2 添加機器
選擇機器管理--> 添加機器
注:這里需要說明的是要添加的機器上面需要使用上述的cachecloud-init.sh腳本進行初始化,也就是配置系統參數,創建用戶以及安裝redis,服務啟動不啟動倒是無所謂。
配置詳細的信息:
等待一分鍾左右,可以看到已經成功添加:
但是查看日志,卻發現如下異常:
這個是mysql的一個安全檢查,關閉它:ONLY_FULL_GROUP_BY
兩種方式:
1:
SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
2:
在my.cnf的mysqld里面添加
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
這個需要重啟mysql
異常2:
提示沒用nmon
這個的話網上下載一個安裝上就行了
5、創建應用
5.1 點擊admin --> 我的申請
5.2 點擊申請應用
這里我從新安裝了5.0.9版本的redis節點,所以使用這個版本測試,對於redis最新版本,由於cachecloud沒有集成,后期在創建應用的時候報錯,個人懷疑是沒有配置模板配置項。有時間測試一下
5.3 審批
點擊審批處理
生成部署預覽
開始部署
如果成功,那么回到工單審批那里。點擊通過即可
到前台查看創建的應用
x、錯誤記錄
錯誤1:
Table 'cachecloud_open.QRTZ_LOCKS' doesn't exist
這個錯誤是因為創建的表名是小寫,但是在spring里面使用的時候是大寫的表名,感覺這是他們的一個bug。解決辦法是修改mysql對表名不區分大小寫
1、查看mysql對表名是否區分大小寫
mysql> show variables like "%case%";
+------------------------------------+-------+
| Variable_name | Value |
+------------------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
| validate_password_mixed_case_count | 1 |
+------------------------------------+-------+
其中 lower_case_table_names這個變量的是影響表名是否大小寫的。
如果是0,則表示區分大小寫,如果是1表示不區分。
這是一個readonly 變量,所以在使用set global方式修改的時候,會報一個如下的異常:
mysql> set global lower_case_table_names=1;
ERROR 1238 (HY000): Variable 'lower_case_table_names' is a read only variable
處理辦法是:
先關閉mysql服務:mysqladmin -uroot -p shutdown 或者 systemctl stop mysqld
修改mysql配置文件,在mysqld下面添加一行lower_case_table_names=1
異常2
文件數不夠
echo 'cachecloud-open soft nofile 65535' >> /etc/security/limits.conf
echo 'cachecloud-open hard nofile 65535' >> /etc/security/limits.conf
就這樣吧,寫的有點亂,有時間整理一下。
借鑒:
官網:
http://122.9.1.235:8080/wiki/quickstart/index
https://blog.csdn.net/qq_37960324/article/details/104646716