5.linux/windows下搭建redis集群
2017-12-07 21:14
120 查看
1.创建多个虚拟机(都装上redis)
(1)使用已经安装好redis的centos,将redis.conf文件中允许集群设置打开(2)测试环境下直接用vmware把一个安装好redis的centSO克隆几次,具体操作如下:
首先选择一个安装好redis的centos,网络适配器选择桥接模式
右键CentSO->管理->克隆->下一步->完整克隆->选择网络适配器->高级->生成随机mac地址
打开centos系统,分别查询ip地址记录下来,同时测试结点之间是否能相互ping通(可以看到桥接模式下保证了同一网段):
由于redis的集群至少需要3个master,每个master分配1个slave则至少需要个6redis服务
slave0:(单独用来开启集群服务)
slave1:192.168.88.139
slave2:192.168.88.140
slave3:192.168.88.141
slave4:192.168.88.142
slave5:192.168.88.143
slave6:192.168.88.144
(3)我们在slave0上调用集群工具,将slave1~slave6的redis服务建立集群
有时候虚拟机ip变化可以命令来改变ip:ifconfig 网卡 ip
2.slave0服务所在机器上下载集群工具
(1)先安装curl(2)再安装rvm(版本控制工具)
等待安装完成后
结果如下
(3)查看版本库中有的ruby版本
选择一个下载
下载完成后,查看当前的ruby版本是否是刚刚下载的版本
(4)使用gem命令安装redis接口,完成后在redis命令中就可以看到这个redis-trib.rb可执行文件了
进入redis的安装目录(/home/downloads/redis.3.0.4/src)查看这个工具
3.在slave0上使用集群工具
(1)执行ruby redis-trib.rb(首先确保所有centos上面的redis服务都开启成功/且6379可以ping通)其中n表示为每个master分配n个slave
查看结果3个master3个slave,输入yes保存上面的配置
配置生效,等待集群的加入,等待下面信息说明搭建成功
6个redis服务中任选一个进入客户端,cluster nodes查看结点状态
可以看到3master/3slave
逐个设置密码,这个密码是连接集群的密码集群中所有机器都必须保证密码一致
六个机器都设置完毕之后,输出刚刚设置的auth重写配置生效
4.测试集群数据同步
由于master才能读写,slave只能进行读,我们在master中创建一个key去slave中查找slave1:192.168.88.139(m)
slave2:192.168.88.140(m)
slave3:192.168.88.141(m)
slave4:192.168.88.142(s)
slave5:192.168.88.143(s)
slave6:192.168.88.144(s)
(1)在slave3(m)中插入一个数据
(2)在slave1(s)中读取这个数据,通过命令切换到slave3客户端下
5.集群常用命令
首先我们调用一下刚刚的集群工具查看一下通过redis-trib.rb对集群的操作就这10个命令,如下
(1)create:创建集群
(2)check:检查集群(直接检查一个结点)
(3)fix:修复集群(会先check,如果集群检查出异常就会执行修复流程,异常:slot未完全分配异常/存在迁移中slot异常)
(4)reshard:在线迁移slot,参数见上图
(5)add-node:添加结点
将已有的master的id作为参数将它添加为一个slave这里将准备好的slave7:192.168.88.145添加为slave3的从节点(slave3_id见上图那一串字符串)
(6)del-node:删除结点
删除slave结点(slave不包含数据直接删除),这里我们删掉刚刚创建的slave7
删除master结点(需要先移动slot)这里我们删除slave3
(7)set-timeout:设置结点之间的心跳超时时间
(8)call:在集群全部节点上执行命令
(9)import:将外部redis数据导入集群
6.java客户端操作集群
需要设置密码,我这里设置为pword在客户端下进行操作会提示auth required,输入密码就可以了:auth pword
相关文章推荐
- redis集群与分片(2)-Redis Cluster集群的搭建与实践
- Redis3.2.5 集群搭建以及Spring-boot测试
- Redis复制与可扩展集群搭建
- Redis集群搭建与简单使用
- redis集群环境搭建以及java中jedis客户端集群代码实现
- Redis 3.2.4集群搭建
- redis3.2.8环境搭建及集群的搭建
- Redis集群搭建
- Redis 集群搭建简述
- redis集群搭建以及可能出现的问题
- redis集群环境搭建
- Centos 6.5下搭建redis集群教程
- CentOS搭建redis集群
- Redis学习之 Redis3.0.x 集群搭建
- Nginx+Tomcat+Redis搭建SESSION集群
- Redis集群主从复制(一主两从)搭建配置教程【Windows环境】
- redis集群搭建之二~使用redis-trib.rb方法
- redis集群搭建过程中踩过的几个坑
- 基于ubuntu搭建Redis(4.0) Cluster 高可用(HA)集群环境
- 详解centos下搭建redis集群