一:redis3.x cluster集群

redis-cluster集群适用于缓存数据量比价大,需要分片存储的场景
下面记录了下测试实验过程
安装环境: centos6.6,redis3.x

  1. redis-cluster集群架构图

    这里写图片描述

    2、redis-cluster集群环境搭建

    • 将 redis-3.0.0.gem,redis-3.0.0.tar.gz上传到服务器/opt/soft/redis_soft
      并解压redis-3.0.0.tar.gz
[root@localhost redis_soft]# ls
redis-3.0.0.gem  redis-3.0.0.tar.gz
[root@localhost redis_soft]# tar -zxvf redis-3.0.0.tar.gz 
  • 安装ruby环境
#yum install ruby
#yum install rubygems
  • 先安装一个单机版本
需要安装gcc:yum install gcc-c++
安装好gcc后进入redis3.0源码包下
#cd /opt/soft/redis_soft/redis-3.0.0/src
#make
安装到下面目录下ls

#make install PREFIX=/usr/local/redis

安装 redis-3.0.0.gem 注意要先安装好ruby环境

  • 第一步:创建6个redis实例,端口号从7001~7006
  • 这里写图片描述
进入redis01 
[root@localhost redis_cluster]# cd redis01/
[root@localhost redis01]# ls
dump.rdb  redis-benchmark  redis-check-aof  redis-checcd ..k-dump  redis-cli  redis.conf  redis-sentinel  redis-server
[root@localhost redis01]# rm -rf dump.rdb 
修改端口号
[root@localhost redis01]# vim redis.conf ./

这里写图片描述
开启集群功能:
这里写图片描述
再复制5个出来

[root@localhost redis_cluster]# ls
redis01
[root@localhost redis_cluster]# cp -r redis01/ redis02
[root@localhost redis_cluster]# cp -r redis01/ redis03
[root@localhost redis_cluster]# cp -r redis01/ redis04
[root@localhost redis_cluster]# cp -r redis01/ redis05
[root@localhost redis_cluster]# cp -r redis01/ redis06
[root@localhost redis_cluster]# ls
redis01  redis02  redis03  redis04  redis05  redis06
[root@localhost redis_cluster]# 

将redis02....redis06的端口改掉7002....7006

将创建redis集群的ruby脚步复制到redis_cluster下
[root@localhost redis06]# cd /opt/soft/redis_soft/redis-3.0.0/src/
[root@localhost src]# ls
。。。。。
[root@localhost src]# cp redis-trib.rb  /usr/local/redis_cluster/ 

启动6个redis  实例 redis 后台启动要将redis.conf 的
daemonize no 改为 
daemonize yes
  • 在 redis_cluster/ 下 启动6个实例的脚步
#vim startAll.sh

这里写图片描述

保存,运行脚本后启动6个实例
#./startAll.sh
  • 通过创建集群脚本 redis-trib.rb 创建集群
./redis-trib.rb create --replicas 1 192.168.1.136:7001 192.168.1.136:7002 192.168.1.136:7003 192.168.1.136:7004 192.168.1.136:7005  192.168.1.136:7006
>>> Creating cluster
Connecting to node 192.168.1.136:7001: OK
Connecting to node 192.168.1.136:7002: OK
Connecting to node 192.168.1.136:7003: OK
Connecting to node 192.168.1.136:7004: OK
Connecting to node 192.168.1.136:7005: OK
Connecting to node 192.168.1.136:7006: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.1.136:7001
192.168.1.136:7002
192.168.1.136:7003
Adding replica 192.168.1.136:7004 to 192.168.1.136:7001
Adding replica 192.168.1.136:7005 to 192.168.1.136:7002
Adding replica 192.168.1.136:7006 to 192.168.1.136:7003
M: c9f6193c8643a938e0256e550d9787c0c4612dc4 192.168.1.136:7001
   slots:0-5460 (5461 slots) master
M: 6ae74156a5171bd64c548dd5d5cd97e644e6f644 192.168.1.136:7002
   slots:5461-10922 (5462 slots) master
M: aba4d0209c74002a2f6a342354c71a2424c3c526 192.168.1.136:7003
   slots:10923-16383 (5461 slots) master
S: e7d679f2a5189fafbef61c800c15b9ead792cddf 192.168.1.136:7004
   replicates c9f6193c8643a938e0256e550d9787c0c4612dc4
S: 48e225a8512607903060aa3b274e7feda05fea8a 192.168.1.136:7005
   replicates 6ae74156a5171bd64c548dd5d5cd97e644e6f644
S: 1e11b06f450a24b13ae63e202cfe5345ccc105de 192.168.1.136:7006
   replicates aba4d0209c74002a2f6a342354c71a2424c3c526
Can I set the above configuration? (type 'yes' to accept): yes

>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join....
>>> Performing Cluster Check (using node 192.168.1.136:7001)
M: c9f6193c8643a938e0256e550d9787c0c4612dc4 192.168.1.136:7001
   slots:0-5460 (5461 slots) master
M: 6ae74156a5171bd64c548dd5d5cd97e644e6f644 192.168.1.136:7002
   slots:5461-10922 (5462 slots) master
M: aba4d0209c74002a2f6a342354c71a2424c3c526 192.168.1.136:7003
   slots:10923-16383 (5461 slots) master
M: e7d679f2a5189fafbef61c800c15b9ead792cddf 192.168.1.136:7004
   slots: (0 slots) master
   replicates c9f6193c8643a938e0256e550d9787c0c4612dc4
M: 48e225a8512607903060aa3b274e7feda05fea8a 192.168.1.136:7005
   slots: (0 slots) master
   replicates 6ae74156a5171bd64c548dd5d5cd97e644e6f644
M: 1e11b06f450a24b13ae63e202cfe5345ccc105de 192.168.1.136:7006
   slots: (0 slots) master
   replicates aba4d0209c74002a2f6a342354c71a2424c3c526
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

好了,到这里集群环境就算搭建好了,3个主 3个备

  • 测试集群(连接登录):
#redis01/redis-cli -h 192.168.25.153 -p 7002 -c
注:-c 必修有 

关闭redis
#redis01/redis-cli -p 7001 shutdown

编写批量关闭脚本
这里写图片描述

注意点:
开启redis远程访问
redis默认只能localhost登录,所以需要开启远程登录。解决方法如下:
  在redis的配置文件redis.conf中,找到#bind localhost注释掉。
    注释掉本机,局域网内的所有计算机都能访问。
    band localhost 只能本机访问,局域网内计算机不能访问。
    bind 局域网IP 只能局域网内IP的机器访问, 本地localhost都无法访问。
还要把 protected-mode yes 改为protected-mode no

参考:
http://blog.csdn.net/xu470438000/article/details/42971091

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值