设为首页 收藏本站
查看: 1569|回复: 0

[经验分享] CacheCloud+Redis Cluster 3部署

[复制链接]

尚未签到

发表于 2017-12-20 18:43:43 | 显示全部楼层 |阅读模式
CacheCloud环境需求


  • Java 7
  • Maven 3
  • MySQL
  • Redis 3
  具体用法可参考:https://cachecloud.github.io
  1.下载CacheCloud

  官网https://github.com/sohutv/cachecloud
  下载cachecloud-master.zip
  解压并移动cachecloud-master到/usr/local目录

  2.在MySQL中创建库并授权
DSC0000.png

  导入初始数据
DSC0001.png

  3.编辑/usr/local/cachecloud-master/cachecloud-open-web/src/main/swap/online.properties文件
DSC0002.png

  3.1在cachecloud根目录下运行

  

mvn clean compile install -Ponline  
DSC0003.png
  3.2创建/opt/cachecloud-web目录,并拷贝相关文件

  mkdir -p /opt/cachecloud-web
  cp  cachecloud-open-web/target/cachecloud-open-web-1.0-SNAPSHOT.war /opt/cachecloud-web/
  cp  cachecloud-open-web/src/main/resources/cachecloud-web.conf /opt/cachecloud-web/
  ln -s /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war  /etc/init.d/cachecloudweb

  4.启动cachecloud-web并通过http://IP:8585访问,用户名和密码admin

  /etc/init.d/cachecloudweb start
DSC0004.png


  5.使用cachecloud-init.sh安装redis和初始化,可根据需求修改脚本中redis的版本

DSC0005.png


  6.在服务器上创建cachecloud SSH连接账号,和系统配置管理页面里的用户名和密码保持一致即可

  useradd cachecloud
  passwd cachecloud
DSC0006.png


  6.1点击右上角管理后台—>机器管理,添加机器
  6.2点击右上角导入应用
  7.redis cluster安装(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点)

172.17.20.127
redis-6379/6380
172.17.20.128
redis-6381/6382
172.17.20.129
redis-6383/6384  Redis 集群使用数据分片(sharding)而非一致性哈希(consistency hashing)来实现: 一个 Redis 集群包含 16384 个哈希槽(hash slot), 数据库中的每个键都属于这 16384 个哈希槽的其中一个, 集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽, 其中 CRC16(key) 语句用于计算键 key 的 CRC16 校验和 。集群中的每个节点负责处理一部分哈希槽。
  下载编译安装redis


  • http://download.redis.io/releases/redis-3.2.8.tar.gz
  cp -pr redis redis-6380    #其他类似按照端口号复制

  修改redis.conf


daemonize yes  port 6379         #其他配置改为6380/6381/6382/6383/6384

pidfile /var/run/redis_6379.pid   #其他配置按端口号修改  cluster-enabled yes
  cluster-config-file nodes-6379.conf   # 其他配置按端口号修改
  cluster-node-timeout 15000
  appendonly yes
  创建配置文件软连接并启动redis

  ln -s /opt/cachecloud/redis-6379/redis.conf /etc/redis-6379.conf   #其他按照类似配置
  分别启动集群redis
  8.安装Redis 集群需要的Ruby工具

  yum install ruby rubygems
  gem install redis
  进入reids目录下面运行

  cd /opt/cachecloud/redis/src/
DSC0007.png



  • redis-trib.rb的create子命令构建
  • --replicas 1则指定了为Redis Cluster中的每个Master节点配备1个Slave节点
  • 节点角色由顺序决定,先是master之后是slave
  9.常用命令

  查看集群情况
DSC0008.png


  redis-trib.rb check ip:port  #检查集群状态
  redis-cli -c -h ip -p port  #使用-c进入集群命令模式
  redis-trib.rb rebalance ip:port --auto-weights  #重新分配权重
  增加、删除集群节点

  redis-trib.rb add-node ip:port(新增节点) ip:port(现有效节点)

  redis-trib.rb del-node ip:port>
  重新划分slot

  redis-trib.rb reshard ip:port
DSC0009.png

  10.将master转换为salve

  cluster replicate  master-id  #转换前6380端必须没有slots
DSC00010.png

  11.模拟故障切换

  杀死一个redis进程,观察FailOver情况
DSC00011.png

  Redis集群通过选举方式进行容错,保证一台Server挂了还能跑,这个选举是全部集群超过半数以上的Master发现其他Master挂了后,会将其他对应的Slave节点升级成Master.
  12.把redis cluster加入cachecloud
DSC00012.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-426170-1-1.html 上篇帖子: Spring Data Redis示例 下篇帖子: Python之Redis操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表