CacheCloud+Redis Cluster 3部署
来源:互联网 发布:数控镗铣床编程代码 编辑:程序博客网 时间:2024/05/16 19:57
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中创建库并授权
导入初始数据
3.编辑/usr/local/cachecloud-master/cachecloud-open-web/src/main/swap/online.properties文件
3.1在cachecloud根目录下运行
mvn clean compile install -Ponline
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
5.使用cachecloud-init.sh安装redis和初始化,可根据需求修改脚本中redis的版本
6.在服务器上创建cachecloud SSH连接账号,和系统配置管理页面里的用户名和密码保持一致即可
useradd cachecloud
passwd cachecloud
6.1点击右上角管理后台—>机器管理,添加机器
6.2点击右上角导入应用
7.redis cluster安装(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点)
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/6384pidfile /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/
- redis-trib.rb的create子命令构建
- --replicas 1则指定了为Redis Cluster中的每个Master节点配备1个Slave节点
- 节点角色由顺序决定,先是master之后是slave
9.常用命令
查看集群情况
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 id(目标节点的id) #删除master节点之前首先要使用reshard移除master的全部slot
重新划分slot
redis-trib.rb reshard ip:port
10.将master转换为salve
cluster replicate master-id #转换前6380端必须没有slots
11.模拟故障切换
杀死一个redis进程,观察FailOver情况
Redis集群通过选举方式进行容错,保证一台Server挂了还能跑,这个选举是全部集群超过半数以上的Master发现其他Master挂了后,会将其他对应的Slave节点升级成Master.
12.把redis cluster加入cachecloud
- CacheCloud+Redis Cluster 3部署
- redis cluster部署
- redis-cluster集群部署
- cachecloud部署详细过程
- redis cluster集群部署学习
- Redis 3.2.6 Cluster部署
- Redis Cluster 简介与部署
- redis-cluster安装部署记录
- Redis云管理平台 CacheCloud
- 在Kubernetes的3个node上部署redis cluster
- Redis Cluster部署、管理和测试
- Redis Cluster部署、管理和测试
- Redis Cluster原理介绍和部署实战
- Redis Cluster部署、管理和测试
- redis cluster高可用集群部署详解
- redis 3 cluster 安装
- 搜狐视频Redis私有云平台CacheCloud
- Redis监控运维云平台—CacheCloud
- HDU 5583 Kingdom of Black and White (暴力)
- Linux直接从Server上传文件到百度云
- MFC窗口控件随主窗口大小改变而伸缩
- stm32的定时器输入捕获与输出比较
- 算法基础-->数组
- CacheCloud+Redis Cluster 3部署
- 一个在线音乐软件的故事(四、现在就可以开始编码了吗?)
- MyEclipse安装反编译插件
- 按日期备份文件夹
- Oracle学习笔记 -- day06 DDL、DML、视图索引序列、数据导入导出、数据恢复
- C++实现单例模式
- jstl 遇到的那些坑。很有名的坑,但容易忘。记录一下,便于复习
- SQLserver本地数据库开发
- Openresty 动态2017.8