• cachecloud 安装部署


    本次操作使用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编译成功的截图
    image
    或者直接下载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,主要修改红框部分
    

    image

    5、启动测试

    java -jar -Dspring.profiles.active=open cachecloud-web.war
    

    上面这个在测试的时候可以看到一些详细信息,如果是已经确定没用任何问题,生成环境可以使用下面这样

    nohup java -jar -Dspring.profiles.active=open cachecloud-web.war &
    

    6、登录

    image

    用户名/密码: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、修改版本
    把该数组的值直接改成你需要使用到的版本。
    image
    2、注释auth_key
    下面两行注释掉,否则执行脚本的时候,由于这里不存在文件,会导致报错,,退出
    image

    3、替换安装包
    其中使用#注释的这一行是原本存在的,现在使用#注释,同时添加#注释下面的这一行。

    image

    4、执行脚本

    bash cachecloud-init.sh cachecloud-open
    

    image
    出现上述的提示说明安装成功。
    注:
    在脚本里面明确注释了# 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密码是一致的:
    image

    4、添加机器

    这里只是安装了类似监控的界面,但是具体监控的(像服务啊,主机啊什么的)并没用添加到监控列表。所以这里需要添加主机:

    4.1 点击admin--> 管理后台

    image

    4.2 添加机器

    选择机器管理--> 添加机器
    注:这里需要说明的是要添加的机器上面需要使用上述的cachecloud-init.sh脚本进行初始化,也就是配置系统参数,创建用户以及安装redis,服务启动不启动倒是无所谓。
    image

    配置详细的信息:
    image

    等待一分钟左右,可以看到已经成功添加:
    image

    但是查看日志,却发现如下异常:
    image
    这个是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:
    image
    提示没用nmon
    这个的话网上下载一个安装上就行了

    5、创建应用

    5.1 点击admin --> 我的申请

    image

    5.2 点击申请应用

    image
    这里我从新安装了5.0.9版本的redis节点,所以使用这个版本测试,对于redis最新版本,由于cachecloud没有集成,后期在创建应用的时候报错,个人怀疑是没有配置模板配置项。有时间测试一下
    image

    5.3 审批

    image

    点击审批处理
    image
    生成部署预览
    image
    开始部署
    image
    如果成功,那么回到工单审批那里。点击通过即可
    image
    到前台查看创建的应用
    image

    x、错误记录

    错误1:
    Table 'cachecloud_open.QRTZ_LOCKS' doesn't exist
    image
    这个错误是因为创建的表名是小写,但是在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
    image

    异常2

    image
    文件数不够

    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

    记录学习和生活的酸甜苦辣.....哈哈哈
  • 相关阅读:
    Shell for
    rsync 目录 斜杠
    shell local
    linux secureCRT utf-8编码显示
    eclipse maven 项目不显示 target目录
    如何打印身份证实际大小
    linux 去掉 ^M
    hibernate 之 集合映射中list映射
    hibernate 之 复合主键映射
    hibernate 之 组件映射
  • 原文地址:https://www.cnblogs.com/yjt1993/p/14808887.html
Copyright © 2020-2023  润新知