CacheCloud安装配置-管理生产环境redis

什么是CacheCloud?

目前我们自己搭建了一套Redis群集,但是感觉reids自身的高可用等功能做的不好,然后就找到了由搜狐开源的Redis管理工具CacheCloud。

详细的介绍请看官网:https://github.com/sohutv/cachecloud#cc9

CacheCloud提供一个Redis云管理平台:实现多种类型(Redis StandaloneRedis SentinelRedis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端。

《CacheCloud安装配置-管理生产环境redis》

安装CacheCloud

我们使用最新版本CacheCloud,可以支持客户端密码。系统CentOS 7.4,mysql 5.7,Redis我们导入原有已经部署的Redis 4.0.9.

下载git

由于是在github上,所以我们安装下github命令

# yum -y install git

《CacheCloud安装配置-管理生产环境redis》

下载CacheCloud

# cd /usr/local/

# git clone https://github.com/sohutv/cachecloud.git

《CacheCloud安装配置-管理生产环境redis》

准备MySQL数据库

我们有统一的MySQL服务器,就在上面开下数据库就ok了。

安装Java环境

不要使用openJdk,需要使用Oracle提供的JDK,确保jdk 1.7+,去Oracle官网下载二进制版本。

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

《CacheCloud安装配置-管理生产环境redis》

# tar xvf jdk-8u181-linux-x64.tar.gz -C /usr/local

# ln -sv /usr/local/jdk1.8.0_181/ /usr/local/jdk

《CacheCloud安装配置-管理生产环境redis》

配置环境变量

# vim /etc/profile.d/jdk.sh

黏贴如下内容:

#!/bin/bash

export JAVA_HOME=/usr/local/jdk

export JRE_HOME=/usr/local/jdk/jre

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

《CacheCloud安装配置-管理生产环境redis》

查看Java版本

# source /etc/profile.d/jdk.sh

# java -version

《CacheCloud安装配置-管理生产环境redis》

安装MySQL 5.7

添加下MySQL的yum源

# vim /etc/yum.repos.d/mysql.repo

# Enable to use MySQL 5.7 for CentOS 6

[mysql57-community]

name=MySQL 5.7 Community Server

baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.7 for CentOS 7

[mysql57-community]

name=MySQL 5.7 Community Server

baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

《CacheCloud安装配置-管理生产环境redis》

检查一下mysql repo

# yum repolist enabled | grep mysql

《CacheCloud安装配置-管理生产环境redis》

安装启动配置MySQL

# yum -y install mysql-community-server mysql-community-devel mysql-community-client mysql-community-common

《CacheCloud安装配置-管理生产环境redis》

# systemctl start mysqld

MySQL5.7密码安全性加强

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。

命令获取MySQL的临时密码。

# grep “password” /var/log/mysqld.log

《CacheCloud安装配置-管理生产环境redis》

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

# mysql -u root -p

mysql> select user();

《CacheCloud安装配置-管理生产环境redis》

修改下密码

ALTER USER USER() IDENTIFIED BY ‘Eju@mysql2020’;

设置密码长度

MySQL 5.7开始有安全性默认密码需要复杂密码,并且不允许低于8位,我们输入下面两条命令将密码可以允许简单密码,并且最低四位

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

初始化CacheCloud数据

导入项目中cachecloud.sql初始化库表结构,默认插入admin超级管理员。

由于MySQL 5.7使用了严格SQL模式,会导致cachecloud.sql导入报错的,所以直接取消SQL模式即可.

mysql> set global sql_mode=”;

mysql> set session sql_mode=”;

《CacheCloud安装配置-管理生产环境redis》

创建字符集为utf8的数据库并导入数据

mysql> create database cachecloud charset utf8;

mysql> use cachecloud;

mysql> source /usr/local/cachecloud/script/cachecloud.sql;

《CacheCloud安装配置-管理生产环境redis》

创建CacheCloud连接用户

mysql> grant all on *.* to ‘admin’@’localhost’ identified by ‘admin’;

mysql> grant all on *.* to ‘admin’@’127.0.0.1’ identified by ‘ admin ‘;

mysql> flush privileges;

CacheCloud项目配置

CacheCloud使用了maven作为项目构建的工具,所以先按照maven。

# yum -y install maven

《CacheCloud安装配置-管理生产环境redis》

CacheCloud提供了local.properties和online.properties两套配置作为测试、线上的隔离。属性配置说明:

属性名 说明 示例
cachecloud.db.url mysql驱动url jdbc:mysql://127.0.0.1:3306/cache-cloud
cachecloud.db.user mysql用户名 admin
cachecloud.db.password mysql密码 admin
web.port spring-boot内嵌tomcat启动端口 测试9999,线上8585(可修改)

下面可以修改local.properties和online.properties这两套配置了,改成如下配置即可:

# vim /usr/local/cachecloud/cachecloud-open-web/src/main/swap/online.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安装配置-管理生产环境redis》

# vim /usr/local/cachecloud/cachecloud-open-web/src/main/swap/local.properties

《CacheCloud安装配置-管理生产环境redis》

这里就是用来设置数据库连接,以及web端口的,可自行修改。但是一定注意cachecloud.db.user参数,用户名不能有多余的空格,不然后面会一直报连接不上数据库。使用vim编辑器编辑用户时行尾可能会多出一个空格,记得去掉,多移动几次光标看看是否有空格。

另外设置“cachecloud?useUnicode=true&characterEncoding=UTF-8″是用来支持中文的,记得一定与数据库字符集一样哦,都是UTF8。又有一点要注意的就是对于自己编译的CacheCloud,这里的”&”不是乱码,就是这样的,会被转义为&符号。如果是使用二进制版本的,这里就需要写成“cachecloud?useUnicode=true&characterEncoding=UTF-8″才行。

完事后就可以使用maven编译了。

开始编译CacheCloud生成war包

本地启动

cachecloud根目录下运行

# mvn clean compile install -Plocal

在cachecloud-open-web模块下运行

# mvn spring-boot:run

本地启动CacheCloud,如果没有问题,此时9999端口就会打开,可以使用浏览器访问了(注意安装maven时会安装openjdk)。

生产环境部署

在cachecloud根目录下运行

# mvn clean compile install -Ponline

《CacheCloud安装配置-管理生产环境redis》

执行完成后,就可以执行script/deploy.sh脚本开始部署了。这个脚本会:

  • 拷贝war包(cachecloud-open-web/target/cachecloud-open-web-1.0-SNAPSHOT.war)到/opt/cachecloud-web下;
  • 拷贝配置文件(cachecloud-open-web/src/main/resources/cachecloud-web.conf)到/opt/cachecloud-web下,并改名为cachecloud-open-web-1.0-SNAPSHOT.conf(spring-boot要求,否则配置不生效);
  • 拷贝start.sh和stop.sh脚本到/opt/cachecloud-web目录下。

执行deploy.sh脚本:

# cd /usr/local/cachecloud/script/

# bash deploy.sh /usr/local/

《CacheCloud安装配置-管理生产环境redis》

后面是跟上cachecloud源码所在的目录,我这里是在/usr/local下。

安装maven时会安装openjdk,会导致跟你安装的oracle jdk有冲突,所以编译完CacheCloud后可以卸载openjdk。

# yum -y remove java-1.8.0-openjdk*

# source /etc/profile.d/jdk.sh

启动CacheCloud

# bash /opt/cachecloud-web/start.sh

《CacheCloud安装配置-管理生产环境redis》

如果关闭CacheCloud

# bash /opt/cachecloud-web/stop.sh

关闭防火墙

firewall-cmd zone=public add-port=8585/tcp permanent

firewall-cmd reload

添加现有redis

访问管理平台

完成后我们就可以进行访问

浏览器输入 http://10.0.101.16:8585 用户名密码默认都是admin

《CacheCloud安装配置-管理生产环境redis》

进入管理后台

然后点击管理后台

《CacheCloud安装配置-管理生产环境redis》

添加账户

我们先加下默认的redis账户

《CacheCloud安装配置-管理生产环境redis》

添加机器

机器管理,然后添加机器,我们添加现有的机器

《CacheCloud安装配置-管理生产环境redis》

添加完成后我们可以看到连机器的性能也能进行监控了,我们在去添加其他机器

《CacheCloud安装配置-管理生产环境redis》

导入现有应用

《CacheCloud安装配置-管理生产环境redis》

《CacheCloud安装配置-管理生产环境redis》

导入成功我们可以看到这个实例,每个实例对应的节点

《CacheCloud安装配置-管理生产环境redis》

《CacheCloud安装配置-管理生产环境redis》

点赞

发表评论