在实际生产环境中通过命令行的形式去进行集群的管理是一件很繁琐并且容易出现错误的事情,所以就引入了云平台的概念。

什么是云平台

Redis 云平台是指通过 BS 等架构实现对 Redis 的管理和监控。本文介绍的云平台是 -- CacheCloud

CacheCloud 简介

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

CacheCloud 功能

  • 监控统计: 提供了机器、应用、实例下各个维度数据的监控和统计界面。
  • 一键开启: Redis Standalone、Redis Sentinel、Redis Cluster三种类型的应用,无需手动配置初始化。
  • Failover: 支持哨兵,集群的高可用模式。
  • 伸缩: 提供完善的垂直和水平在线伸缩功能。
  • 完善运维: 提供自动运维和简化运维操作功能,避免纯手工运维出错。
  • 方便的客户端 方便快捷的客户端接入。
  • 元数据管理: 提供机器、应用、实例、用户信息管理。
  • 流程化: 提供申请,运维,伸缩,修改等完善的处理流程
  • 一键导入: 一键导入已经存在Redis

CacheCloud 提供的价值

  • 规模化自动运维: 降低运维成本,降低人为操作出错率。
  • 自由伸缩: 提供灵活的伸缩性,应用扩容/收缩成本降低,机器资源得到重复利用。
  • 团队提升,开源贡献:提升云产品开发设计经验,自己作为开发者和使用者。

CacheCloud 环境需求

  • JDK 7+
  • Maven 3
  • MySQL 5.5
  • Redis 3

CacheCloud 部署

1)前往 官网 下载二进制安装

  1. 解压文件并进入目录
[root@VM_0_15_centos opt]# tar -vxf cachecloud-bin-1.2.tar.gz
cachecloud-web/
cachecloud-web/cachecloud.sql
cachecloud-web/stop.sh
cachecloud-web/jdbc.properties
cachecloud-web/start.sh
cachecloud-web/logs/
cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war
[root@VM_0_15_centos opt]# cd cachecloud-web/
  • cachecloud-open-web-1.0-SNAPSHOT.war: cachecloud war包
  • cachecloud.sql: 数据库schema,默认数据名为cache_cloud,可以自行修改
  • jdbc.properties:jdbc数据库配置,自行配置
  • start.sh:启动脚本
  • stop.sh: 停止脚本
  • logs:存放日志的目录
  1. mysql 中将 cachecloud.sql 导入
[root@VM_0_15_centos cachecloud-web]# mysql -uroot -h 127.0.0.1 -p
mysql> source /opt/cachecloud-web/cachecloud.sql
  1. 修改 jdbc.properties 文件,根据自己的数据库信息进行配置
[root@VM_0_15_centos cachecloud-web]# vim jdbc.properties 

cachecloud.db.url = jdbc:mysql://127.0.0.1:3306/cache_cloud
cachecloud.db.user = user
cachecloud.db.password = password
cachecloud.maxPoolSize = 20
jdbc.driver = com.mysql.jdbc.Driver
jdbc.validationQuery = select 1 from dual
  1. 修改内存配置
[root@VM_0_15_centos cachecloud-web]# vim start.sh

默认是 4G,但是我的服务器只有1G 囧。所以需要修改,如果你的服务器配置够的话可以跳过。

-server -Xmx4g -Xms4g

修改为:

-server -Xmx1g -Xms1g
  1. 启动项目
[root@VM_0_15_centos cachecloud-web]# sh start.sh

7)浏览器访问 http://服务器 ip 地址:8585

默认账号信息如下:

用户名:admin
密 码:admin

机器部署

1)前往 github 下载 cachecloud-init.sh 初始化文件并上传服务器,或者在服务器新建文件,内容如下:

#!/bin/bash

############################################################################
# @desc:
# - 1. create user;
# - 2. create default directories and authorize;
# - 3. @usage: sh cachecloud-init.sh [username]
# @author: leifu
# @time:
########################################################################### set -o nounset
set -o errexit readonly redisDir="/opt/cachecloud/redis"
readonly redisTarGz="redis-3.0.7.tar.gz" # check if the user exists
checkExist() {
local num=`cat /etc/passwd | grep -w $1 | wc -l` #cat /etc/passwd | grep -q "$1"
if [[ $num == 1 ]]; then
echo "user $1 exists, overwrite user and *init all data*: [y/n]?"
read replace
if [[ ${replace} == "y" ]]; then
echo "delete existed user: $1."
userdel -r "$1"
createUser "$1"
init "$1"
return 0
fi
else
createUser "$1"
init "$1"
fi
return 0
} # create the user
createUser() {
# create a user
useradd -m -d /home/$1 -s /bin/bash $1 # give the user a password
passwd $1 # add the user to sudoers
# echo "$1 ALL=(ALL) ALL" >> /etc/sudoers # Maximum number of days between password change
chage -M 9999 $1
echo "OK: create user: $1 done" } # create defautl dirs and authorize
init() {
# create working dirs and a tmp dir
mkdir -p /opt/cachecloud/data
mkdir -p /opt/cachecloud/conf
mkdir -p /opt/cachecloud/logs
mkdir -p /opt/cachecloud/redis
mkdir -p /tmp/cachecloud # change owner
chown -R $1:$1 /opt/cachecloud
chown -R $1:$1 /tmp/cachecloud
echo "OK: init: $1 done"
} # install redis
installRedis() {
#which redis-server
#if [[ $? == 0 ]]; then
# echo "WARN: redis is already installed, exit."
# return
#fi yum install -y gcc
mkdir -p ${redisDir} && cd ${redisDir}
wget http://download.redis.io/releases/${redisTarGz} && mv ${redisTarGz} redis.tar.gz && tar zxvf redis.tar.gz --strip-component=1
make && make install
if [[ $? == 0 ]]; then
echo "OK: redis is installed, exit."
chown -R $1:$1 ${redisDir}
export PATH=$PATH:${redisDir}/src
return
fi
echo "ERROR: redis is NOT installed, exit."
} username=$1
checkExist "${username}"
installRedis "${username}"
  1. 初始化 sh 账号
[root@VM_0_15_centos cachecloud-web]# sh cachecloud-init.sh cachecloud
cachecloud-init.sh: line 1: c:: command not found
Changing password for user cachecloud.
New password:
BAD PASSWORD: The password is shorter than 7 characters
Retype new password:
passwd: all authentication tokens updated successfully.
OK: create user: MarkLogZhu done
OK: init: MarkLogZhu done
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors

cachecloud 是新建的 sh 账号,你可以选择自己的,之后需要输入密码。

3)返回刚刚的网页,右上角点击账号进入后台管理

4)修改 sh 账号信息

  1. 增加机器

进入机器管理界面:

填写机器信息:

正在加载信息中:

加载信息成功:

应用导入

这里的应用实际上就是 Redis

1)在前台页面选择应用导入

  1. 填入信息,待格式检查通过后,点击开始导入

Redis学习总结(八)--Redis云平台的更多相关文章

  1. Redis学习笔记八:集群模式

    作者:Grey 原文地址:Redis学习笔记八:集群模式 前面提到的Redis学习笔记七:主从复制和哨兵只能解决Redis的单点压力大和单点故障问题,接下来要讲的Redis Cluster模式,主要是 ...

  2. Redis学习第八课:Redis高级实用特性(一)

    Redis高级实用特性 注:我学习的环境是vmware7.1 + ubantu10.10+ redis 3.0.2 1.安全性 设置客户端连接后进行任何其他指定前需要的密码.因为redis速度相当快, ...

  3. Redis学习第八课:Redis高级实用特性(二)

    Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshott ...

  4. Redis学习十一:Redis的Java客户端Jedis

    一.安装JDK tar -zxvf jdk-7u67-linux-i586.tar.gz vi /etc/profile 重启一次Centos 编码验证 二.安装eclipse 三.Jedis所需要的 ...

  5. Redis学习(一)——初识Redis

    1.Redis是什么 1)REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. 2)Redis的特点 Red ...

  6. Redis学习笔记(4) Redis事务、生存时间及排序

    1. Redis事务 Redis中的事务(transaction)是一组命令的集合,一个事务中的命令要么都执行,要么都不执行.事务的原理是先将属于一个事务的命令发送给Redis,然后再让Redis依次 ...

  7. redis学习之三配置文件redis.conf 的含义

    摘自http://www.runoob.com/redis/redis-conf.html 安装redis之后的第一件事,我就开始配置密码,结果总是不生效,而我居然还没想到原因.今天突然用命令行设置了 ...

  8. Redis学习笔记(1) Redis介绍及基础

    1. Redis的特性 (1) 存储结构 Redis(Remote Dictionary Server,远程字典服务器)是以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容.Redis支 ...

  9. 云计算学习(5-1)云平台产品介绍-华为的FusionCloud产品

    FusionSphere云平台:继承了虚拟化和云管理系统,为企业构建私有云  FusionManager:云管理平台(管理计算虚拟化.网络虚拟化.存储虚拟化) FusionCompute.Fusion ...

随机推荐

  1. 总结暨JAVAWEB学习开篇(一)

    匆匆,距上一篇博客已经过去7月有余,遂作文一篇总结暨JAVAWEB学习开篇. 1. 啃英文新概念.在多方讨教英语大佬后改变学习方式,通过背诵英文书籍以及多听英文录音来学习,效果还不错(等真正有成效了跟 ...

  2. MySQL常用工具、日志及读写分离

    MySQL常用工具.日志及读写分离 1.MySQL中常用工具 1.1 mysql 1.1.1连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 mys ...

  3. Win常用软件

    本节只适合windows系统 VScode 下载 安装 双击安装 打开目录方式 右键文件夹->使用VSCode打开 命令行打开 code folder [dzlua@win10:~]$ ls a ...

  4. markdown常用方法

    Markdown格式的普及流行要归功于Github和StackOverflow的流行,随着它们越来越流行,它们支持的Markdown格式也越来越流行. 1.优点 1.Markdown通过内容和样式相分 ...

  5. 【iOS】"OS X"想要进行更改。键入管理员的名称和密码以允许执行此操作("OS X"想使用系统钥匙串)

    今天真机调试的时候遇到了这个问题,如下图: 每次调试都要输入两次用户名和密码,好麻烦的说…… 关键时刻找到了这篇文章:"Mac OS X"想要进行更改.键入管理员的名称和密码以允许 ...

  6. NDK jni mk文件 so文件 巴啦啦 初体验

    概念JNI(Java Native Interface,Java本地接口),实现了Java和其他语言的交互(主要是C/C++),如:Java程序通过JNI调用C/C++编写的在Windows上运行的D ...

  7. 【Java例题】7.5 文件题2-学生成绩统计

    5.学生成绩统计.已有一个学生成绩文件,含有多位学生的各三门课的成绩:读取这个文件中的每位学生的三门课成绩,然后计算均分:最后对这些均分按照大于或小于75分的界限,分别写到另两个文件中. packag ...

  8. 3PHP如何用PDO的连接方式方式导出mysql数据

    首先连接mysql,具体看上一篇 接下来在try{}中加入以下代码 $query="select * from 你的数据表名称"          //$query的内容给个SQL ...

  9. python异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-3

    异常捕获 异常:程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表现出来 影响:整个程序无法再正常运行 异常的结构 异常的类型 NameError 异常的信息 ...

  10. eclipse导入码云-GIT项目

    1.首先找到项目源码地址我随便找到一个git地址 :https://gitee.com/mingSoft/MCMS 2.打开eclipse空白处右键导入项目搜索git. 3.将第一步复制的git地址复 ...