• 【Redis】CacheCloud介绍及快速开始


    CacheCloud是做什么的

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

      github地址:https://github.com/sohutv/cachecloud#cc7

      

    CacheCloud提供哪些功能

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

    CacheCloud解决什么问题

      

      1.部署成本

           Redis多机(Redis-Sentinel, Redis-Cluster)部署和配置相对比较复杂,较容易出错。例如:100个redis数据节点组成的redis-cluster集群,如果单纯手工安装,既耗时又容易出错。

      2.实例碎片化

           作为一个Redis管理员(可以看做redis DBA)需要帮助开发者管理上百个Redis-Cluster集群,分布在数百台机器上,人工维护成本很高,需要自动化运维工具。

      3. 监控、统计和管理不完善

           一些开源的Redis监控和管理工具,例如:RedisLive(Python)、Redis Commander(Node.js),Redmon(Ruby)无论从功能的全面性(例如配置管理,支持Redis-Cluster等等)、扩展性很难满足需求。

      4. 运维成本

           Redis的使用者需要维护各自的Redis,但是用户可能更加善于使用Redis实现各种功能,但是没有足够的精力和经验维护Redis。Redis的开发人员如同使用MySQL一样,不需要运维Mysql服务器,同样使用Redis服务,不要自己运维Redis,Redis由一些在Redis运维方面更有经验的人来维护(保证高可用,高扩展性),使得开发者更加关注于Redis使用本身。

      5. 伸缩性

           本产品支持Redis最新的Redis-Sentinel、Redis-Cluster集群机构,既满足Redis高可用性、又能满足Redis的可扩展性,具有较强的容量和性能伸缩能力。

      6. 经济成本

           机器利用率低,各个项目组的Redis较为分散的部署在各自服务器上,造成了大量闲置资源没有有效利用。

      7. 版本不统一

           各个项目的Redis使用各种不同的版本,不便于管理和交互。

    快速开始 

      快速启动

      参考地址:https://github.com/sohutv/cachecloud/wiki/3.服务器端接入文档

      1、从github上下载项目,github地址:https://github.com/sohutv/cachecloud#cc7

      2、导入eclipse中,如下: 

        

      3、使用mysql数据库,新建数据库:cache-cloud,导入初始化数据库脚本,脚本地址:cachecloud/script/cachecloud.sql

      4、修改相关配置信息,配置文件地址:cachecloud/cachecloud-open-web/src/main/swap/local.properties

     1 cachecloud.db.url = jdbc:mysql://127.0.0.1:3306/cache-cloud
     2 cachecloud.db.user = cachecloud
     3 cachecloud.db.password = 
     4 cachecloud.maxPoolSize = 20
     5 
     6 isClustered = true
     7 isDebug = true
     8 spring-file = classpath:spring/spring-local.xml
     9 log_base = /opt/cachecloud-web/logs
    10 web.port = 9999
    11 log.level = INFO

      5、本地启动:

    • 在cachecloud根目录下运行
      1 mvn clean compile install -Plocal
    • 在cachecloud-open-web模块下运行
      1 mvn spring-boot:run
      6、浏览器数据地址访问:http://localhost:9999,默认用户名/密码:admin/admin
          
      

      机器管理

      1、机器初始化Redis环境

        cachecloud项目中的cachecloud-init.sh(目录:cachecloud-open-websrcmain esourcesscriptcachecloud-init.sh)脚本是用来初始化服务器的cachecloud环境,主要工作如下:

    • (a). 创建cachecloud项目用户:因为cachecloud项目的部分功能(redis启动、服务器监控)是通过ssh完成的,所以这里的用户和密码要和项目中的相对应,具体详见第三节。

    • (b). 创建cachecloud项目的工作目录、数据目录、配置目录、日志目录、redis安装目录、临时目录等等。(/opt/cachecloud/data、/opt/cachecloud/conf、/opt/cachecloud/logs、/opt/cachecloud/redis、/tmp/cachecloud)

    • (c). 安装最新的release版本的Redis

      脚本执行

    • (a). 使用root登录目标服务器。
    • (b). 将cachecloud-init.sh脚本拷贝到目标服务器当前用户目录下。
    • (c). 执行 sh cachecloud-init.sh ${yourusername}
    • (d). 两次确认密码
    • (e). 一路安装直到成功。

      2、在cachecloud界面右上角-〉cachecloud管理后台-〉系统配置管理-〉修改配置信息,如用户名和密码

      3、cachecloud管理后台-〉机器管理-〉添加一台机器

      4、新建一个用户,使用新用户登录,并申请一个应用

      5、切换admin管理员登录,审核应用,即可创建redis应用,并可以进行管理

      

      生产环境启动

    • 在cachecloud根目录下运行
        mvn clean compile install -Ponline 
    • 拷贝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要求,否则配置不生效)
    • 启动方法1(作为系统服务启动,可能存在系统兼容性问题,目前redhat6.5,centos7正常)
         sudo ln -s /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war /etc/init.d/cachecloud-web

        /etc/init.d/cachecloud-web start

    • 启动方法2(使用脚本启动,大部分操作系统都正常) 拷贝启动脚本(cachecloud根目录下script目录下的start.sh和stop.sh)到/opt/cachecloud-web下

        sh start.sh #如果机器内存不足,可以适当调小:-Xmx和-Xms(默认是4g)

        sh stop.sh

     
      
  • 相关阅读:
    .Net操作Sharepoint常用方法(1) 判断List或Library是否存在
    Aspose.Cells读取Excel获取DataTable方法
    Nginx系统学习笔记(1)Say Hello
    老刘Hadoop学习笔记(6)Hadoop 单机模式 伪分布式 完全分布式区别
    老刘Hadoop学习笔记(5)安装JDK
    老刘Hadoop学习笔记(4)JDK和Open JDK区别
    老刘Hadoop学习笔记(3)新建用户及用户组
    老刘Hadoop学习笔记(2)修改虚拟机hostname及hosts文件
    老刘Hadoop学习笔记(1)开始学习
    MySQL中变量为空时不执行where过滤
  • 原文地址:https://www.cnblogs.com/h--d/p/11397610.html
Copyright © 2020-2023  润新知