redis伪集群部署

1 下载redis

wget http://download.redis.io/releases/redis-3.0.6.tar.gz

2 解压,安装

tar zxvf redis-3.0.6.tar.gz                       
cd redis-3.0.6

3 下载编译环境并编译

yum install readline-devel pcre-devel openssl-devel perl gcc

make && make install

4 创建存放多个实例的目录

mkdir /export/servers/redis/cluster -p

5 修改配置文件

  cd /export/servers/redis/cluster
  
  将redis中的redis.conf文件复制到实例目录下
  cp /export/servers/redis-3.0.6/redis.conf  /export/servers/redis/cluster/7001
  修改7001目录下的redis.conf
  port 7001
  daemonize yes
  cluster-enabled yes
  cluster-config-file nodes-7001.conf
  cluster-node-timeout 5000
  appendonly yes
  将7001下的redis.conf复制到7002,7003,分别修改port 7001和cluster-config-file nodes-7001.conf

6 启动3个redis实例

cd export/servers/redis/cluster/7001
redis-server redis.conf

cd export/servers/redis/cluster/7002
redis-server redis.conf

cd export/servers/redis/cluster/7003
redis-server redis.conf

7 查看进程否存在

ps -ef | grep redis

8 下载依赖

yum install ruby rubygems -y

安装gem-redis
下载地址:https://rubygems.org/gems/redis/versions/3.0.0

gem install -l redis-3.0.0.gem  

将集群管理程序复制到  export/servers/redis

9 创建集群

redis-trib create --replicas 0 192.168.72.100:7001 192.168.72.100:7002 192.168.72.100:7003

命令的意义如下:

    给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
    选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。 0 表示为创建集群中的主节点,不创建从节点之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
接着, redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中:

在这里插入图片描述

测试,启动客户端
在这里插入图片描述

遇到的问题:

[root@node01 redis]# redis-trib create --replicas 0 node01:7001 node01:7002 node01:7003
>>> Creating cluster
>>> Performing hash slots allocation on 3 nodes...
Using 3 masters:
node01:7001
node01:7002
node01:7003
M: 2747b824b0b5fe6531fe43f9dc9af7408b59b27b node01:7001
   slots:0-5460 (5461 slots) master
M: 3e7b0360d6a74160b9942f2c55c9c57d6f629ea7 node01:7002
   slots:5461-10922 (5462 slots) master
M: f1fea27a1d98b2c640f71e60edfa87c3749fd77b node01:7003
   slots:10923-16383 (5461 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
/usr/lib/ruby/gems/1.8/gems/redis-3.0.0/lib/redis/client.rb:79:in `call': ERR Slot 4648 is already busy (Redis::CommandError)
        from /usr/lib/ruby/gems/1.8/gems/redis-3.0.0/lib/redis.rb:2190:in `method_missing'
        from /usr/lib/ruby/gems/1.8/gems/redis-3.0.0/lib/redis.rb:36:in `synchronize'
        from /usr/lib/ruby/1.8/monitor.rb:242:in `mon_synchronize'
        from /usr/lib/ruby/gems/1.8/gems/redis-3.0.0/lib/redis.rb:36:in `synchronize'
        from /usr/lib/ruby/gems/1.8/gems/redis-3.0.0/lib/redis.rb:2189:in `method_missing'
        from ./redis-trib:212:in `flush_node_config'
        from ./redis-trib:711:in `flush_nodes_config'
        from ./redis-trib:710:in `each'
        from ./redis-trib:710:in `flush_nodes_config'
        from ./redis-trib:1209:in `create_cluster_cmd'
        from ./redis-trib:1609:in `send'
        from ./redis-trib:1609

参考了很多博客,修改了
7001下的redis.conf复制到7002,7003,分别修改port 7001和cluster-config-file nodes-7001.conf
通过重启实例,重新创建集群,问题解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值