redis伪集群搭建

注意使用 redis3.0 版本。 3.0 版本主要增加了 redis 集群功能。

一、前提条件
①yum install gcc-c++
②ruby环境
安装命令:
yum install ruby
yum install rubygems
③ruby和redis的接口程序
拷贝redis-3.0.0.gem至 /usr/local/redis下
执行命令:
gem install /usr/local/redis/redis-3.0.0.gem

二、集群环境规划
6台服务器(三主三从)
主节点:
111.231.87.104:7001 111.231.87.104:7002 111.231.87.104:7003
从节点:
111.231.87.104:7004 111.231.87.104:7005 111.231.87.104:7006

三、建立伪集群环境
执行命令:
cd /usr/local
mkdir redis-cluster
拷贝/usr/local/redis/bin到redis-cluster目录下
复制6个redis
执行命令:
cd /usr/local/redis
cp -r bin /usr/local/redis-cluster/redis01
修改配置文件
port:7001
cluster-enable yes
拷贝/mysoft/redis/*.rb 到redis-cluster下
编写启动/关闭脚本
创建集群
./redis-trib.rb create --replicas 1 192.168.52.128:7001 192.168.52.128:7002 192.168.52.128:7003 192.168.52.128:7004 192.168.52.128:7005 192.168.52.128:7006
连接集群客户端
./redis01/redis-cli -h 111.231.87.104 -p 7001 -c
-h IP地址
-p 端口号
-c 表示集群

四、问题解决
err slot 0 is already busy (redis::commanderror)
卡槽被占用
检查命令
./redis-trib.rb check 111.231.87.104:7001
修复命令
./redis-trib.rb fix 111.231.87.104:7001
后删除生成的文件(如果数据不需要)
一直等待 Waiting for the cluster to join 很久都没有反应
redis集群不仅需要开通客户端端口,还要开通集群总线端口
需要当前端口号+10000
7001 → 17001
7002 → 17002
7003 → 17003
7004 → 17004
7005 → 17005
7006 → 17006
        我这里开了6个redis实例,共需要12个端口号



.







猜你喜欢

转载自blog.csdn.net/kzdwts/article/details/80050900