闲来无事自己做的关于redis-cluster集群的测试

redis的安装

下载安装包(这里使用的版本是:redis-3.2.9.tar.gz)

cd /home/download

tar -zxvf redis-3.2.9.tar.gz

mv redis-3.2.9 redis

创建所需要的以端口为区别的文件夹

mkdir cluster

cd cluster && mkdir 7000 7001 7002 7003 7004 7005

cd /home/download/redis

cp redis.conf /home/download/cluster/7000

修改7000里面的配置文件

vim /home/download/cluster/7000/redis.conf

修改以下几项

port 7000

daemonize yes

cluster-enabled yes

cluster-config-file nodes-7000.conf

cluster-node-timeout 5000

appendonly yes

分别复制到其余的文件夹下面,修改端口号和文件名称一样

安装集群管理插件

redis-3.2.1.gem 网上下载一个  我这不是最新版本的

yum install ruby rubygems -y

gem install -l redis-3.2.1.gem

分别启动6个redis

cd /home/download/redis/src

./redis-server /home/download/cluster/7000/redis.conf

./redis-server /home/download/cluster/7001/redis.conf

./redis-server /home/download/cluster/7002/redis.conf

./redis-server /home/download/cluster/7003/redis.conf

./redis-server /home/download/cluster/7004/redis.conf

./redis-server /home/download/cluster/7005/redis.conf

检查启动情况

pa-ef | grep redis

root      49131      1  0 Jul29 ?        00:01:03 ./redis-server 127.0.0.1:7000 [cluster]

root      49136      1  0 Jul29 ?        00:01:03 ./redis-server 127.0.0.1:7001 [cluster]

root      49140      1  0 Jul29 ?        00:01:03 ./redis-server 127.0.0.1:7002 [cluster]

root      49257      1  0 Jul29 ?        00:01:03 ./redis-server 127.0.0.1:7003 [cluster]

root      49261      1  0 Jul29 ?        00:01:03 ./redis-server 127.0.0.1:7004 [cluster]

root      49265      1  0 Jul29 ?        00:01:03 ./redis-server 127.0.0.1:7005 [cluster]

root      76733  75739  0 20:49 pts/2    00:00:00 grep --color=auto redis-server

创建集群

./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

(上面的‘1’表示为主的创建一个slave的)

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

127.0.0.1:7000

127.0.0.1:7001

127.0.0.1:7002

Adding replica 127.0.0.1:7003 to 127.0.0.1:7000

Adding replica 127.0.0.1:7004 to 127.0.0.1:7001

Adding replica 127.0.0.1:7005 to 127.0.0.1:7002

M: a08504e2272ddcb9383baf4258bd016d2161d260 127.0.0.1:7000

slots:0-5460 (5461 slots) master

M: c5ec423721e193f1abb5926194189068d71f2966 127.0.0.1:7001

slots:5461-10922 (5462 slots) master

M: e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 127.0.0.1:7002

slots:10923-16383 (5461 slots) master

S: 37e0303c6eb605df80c10de82c4bd8d2f85ae80f 127.0.0.1:7003

replicates a08504e2272ddcb9383baf4258bd016d2161d260

S: 71518be19ddd2a2ae53fe0f88112897654eb56de 127.0.0.1:7004

replicates c5ec423721e193f1abb5926194189068d71f2966

S: a46dd45983767cc4e50d60baf99e2a9f304d740f 127.0.0.1:7005

replicates e5db2e4845b7869dcbfbbc45bdf6ef22f1187867

Can I set the above configuration? (type 'yes' to accept): yes

会打印出以上内容,输入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 127.0.0.1:7000)

M: a08504e2272ddcb9383baf4258bd016d2161d260 127.0.0.1:7000

slots:0-5460 (5461 slots) master

1 additional replica(s)

M: c5ec423721e193f1abb5926194189068d71f2966 127.0.0.1:7001

slots:5461-10922 (5462 slots) master

1 additional replica(s)

S: 71518be19ddd2a2ae53fe0f88112897654eb56de 127.0.0.1:7004

slots: (0 slots) slave

replicates c5ec423721e193f1abb5926194189068d71f2966

S: a46dd45983767cc4e50d60baf99e2a9f304d740f 127.0.0.1:7005

slots: (0 slots) slave

replicates e5db2e4845b7869dcbfbbc45bdf6ef22f1187867

M: e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 127.0.0.1:7002

slots:10923-16383 (5461 slots) master

1 additional replica(s)

S: 37e0303c6eb605df80c10de82c4bd8d2f85ae80f 127.0.0.1:7003

slots: (0 slots) slave

replicates a08504e2272ddcb9383baf4258bd016d2161d260

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

致此,搭建成功

测试可用redis-cli -c -p 7001

127.0.0.1:7001> set name ceshi

OK

127.0.0.1:7001> get name

"ceshi"

查看主从信息

[root@localhost src]# redis-cli -p 7000 cluster nodes

c5ec423721e193f1abb5926194189068d71f2966 127.0.0.1:7001 master - 0 1501473285629 2 connected 5461-10922

71518be19ddd2a2ae53fe0f88112897654eb56de 127.0.0.1:7004 slave c5ec423721e193f1abb5926194189068d71f2966 0 1501473285120 5 connected

a08504e2272ddcb9383baf4258bd016d2161d260 127.0.0.1:7000 myself,master - 0 0 1 connected 0-5460

a46dd45983767cc4e50d60baf99e2a9f304d740f 127.0.0.1:7005 slave e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 0 1501473284107 6 connected

e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 127.0.0.1:7002 master - 0 1501473282077 3 connected 10923-16383

37e0303c6eb605df80c10de82c4bd8d2f85ae80f 127.0.0.1:7003 slave a08504e2272ddcb9383baf4258bd016d2161d260 0 1501473283091 4 connected

[root@localhost src]# redis-cli -c -p 7005

127.0.0.1:7005> get name

-> Redirected to slot [5798] located at 127.0.0.1:7001

"ceshi"

127.0.0.1:7001> exit

[root@localhost src]# redis-cli -c -p 7002

127.0.0.1:7002> get name

-> Redirected to slot [5798] located at 127.0.0.1:7001

"ceshi"

127.0.0.1:7001> exit

[root@localhost src]#

断点测试

去掉7000redis

[root@localhost src]# ./redis-cli -c -p 7004

127.0.0.1:7004> get name

"ceshi"

127.0.0.1:7004>

可以取到值,再次查看状态信息

[root@localhost src]# ./redis-cli -p 7004 cluster nodes

71518be19ddd2a2ae53fe0f88112897654eb56de 127.0.0.1:7004 myself,master - 0 0 7 connected 5461-10922

c5ec423721e193f1abb5926194189068d71f2966 127.0.0.1:7001 slave 71518be19ddd2a2ae53fe0f88112897654eb56de 0 1501473934812 7 connected

37e0303c6eb605df80c10de82c4bd8d2f85ae80f 127.0.0.1:7003 master - 0 1501473937837 8 connected 0-5460

e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 127.0.0.1:7002 master - 0 1501473936828 3 connected 10923-16383

a08504e2272ddcb9383baf4258bd016d2161d260 127.0.0.1:7000 master,fail - 1501473837708 1501473836698 1 disconnected

a46dd45983767cc4e50d60baf99e2a9f304d740f 127.0.0.1:7005 slave e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 0 1501473938843 6 connected

再次启动7000redis

./redis-server /usr/local/src/cluster/7000/redis.conf

[root@localhost src]# ./redis-cli -p 7004 cluster nodes

71518be19ddd2a2ae53fe0f88112897654eb56de 127.0.0.1:7004 myself,master - 0 0 7 connected 5461-10922

c5ec423721e193f1abb5926194189068d71f2966 127.0.0.1:7001 slave 71518be19ddd2a2ae53fe0f88112897654eb56de 0 1501474156543 7 connected

37e0303c6eb605df80c10de82c4bd8d2f85ae80f 127.0.0.1:7003 master - 0 1501474159068 8 connected 0-5460

e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 127.0.0.1:7002 master - 0 1501474156038 3 connected 10923-16383

a08504e2272ddcb9383baf4258bd016d2161d260 127.0.0.1:7000 slave 37e0303c6eb605df80c10de82c4bd8d2f85ae80f 0 1501474157049 8 connected

a46dd45983767cc4e50d60baf99e2a9f304d740f 127.0.0.1:7005 slave e5db2e4845b7869dcbfbbc45bdf6ef22f1187867 0 1501474158057 6 connected

可以看到已经自动成为slave了

转载于:https://blog.51cto.com/11432799/1968421

redis-cluster集群单机搭建相关推荐

  1. Redis Cluster集群的搭建与实践[转]

    Redis Cluster集群的搭建与实践 Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后 ...

  2. Redis Cluster集群的搭建与实践

    Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Re ...

  3. Docker redis cluster集群的搭建

    首先选择redis版本,目前最新是5.0, 5.0版本集群的创建工具是c语言写的,直接用redis-cli命令,不依赖于ruby, 如果是4.0版本,创建集群需要用到ruby脚本:redis-trib ...

  4. Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)

    前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...

  5. centos7 docker-compose安装_Docker Compose 搭建 Redis Cluster 集群环境

    在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...

  6. redis映射的概念_搭建分布式Redis Cluster集群与Redis入门

    目录 Redis 集群搭建Redis 是啥集群(Cluster)Redis Cluster 说明Redis Cluster 节点Redis Cluster 集群模式不能保证一致性创建和使用 Redis ...

  7. Docker搭建3主3从Redis Cluster集群

    本文使用镜像由慕课网的神思者老师提供 本文使用镜像是已经配置好了的Redis镜像, 如果需要自定义可修改配置文件或用官方Redis镜像进行部署 1. 拉取配置好的Redis镜像 docker pull ...

  8. redis集群扩容和缩容_深入理解Redis Cluster集群

    一.背景 前面的文章<深入理解Redis哨兵机制>一文中介绍了Redis哨兵集群的工作原理,哨兵集群虽然满足了高可用的特性,但是依然存在这样的问题:即数据只能往一个主节点上进行写入. 只能 ...

  9. Redis Cluster 集群扩容与收缩

    2019独角兽企业重金招聘Python工程师标准>>> Redis Cluster 集群伸缩 1. 伸缩原理 Redis提供了灵活的节点扩容和收缩方案.在不影响集群对外服务的情况下, ...

  10. redis cluster 集群 HA 原理和实操(史上最全、面试必备)

    文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 经典图书:<Java高并发核心编程(卷1)> 面试必备 ...

最新文章

  1. 94年出生,如今985高校博士生导师!
  2. 面试官问:请拿出一段体现你水平的代码,我该如何回答?
  3. c 反编译工具_App安全检测实践基础——工具篇
  4. golang 标准库间依赖的可视化展示
  5. 省编码市编码区县编码_无浪费编码
  6. Spark Streaming ReceiverTracker架构设计
  7. C# 英文系统上中文 string 显示乱码
  8. zTree动态添加节点
  9. 苹果x人脸识别突然失灵_iPhone手机触摸屏失灵怎么办?成都苹果维修点教你轻松解决...
  10. 甘超波:NLP信念系统
  11. 易简无人机巡检照片处理系统(一) —— 巡检作业流程
  12. 【EXLIBRIS】随笔记 004
  13. VAE 中后验坍塌问题
  14. 菜鸟之如何让项目跑起来(适合小白看,不是小白的不要进来看了,浪费时间)
  15. Python爬取猪八戒网站
  16. Discuz! X搬家说明
  17. 【python实现网络爬虫(4)】实习僧网站信息爬取(字体反爬虫破解)
  18. 三种方法求递归算法的时间复杂度(递推,master定理,递归树)
  19. 开发通用资料——英文缩写
  20. Macbook Pro睡眠后频繁唤醒

热门文章

  1. 接口文档下的渗透测试(Swagger)
  2. docker ubuntu16.04镜像下安装cowrie蜜罐记录
  3. python版:装饰器模式
  4. DevExpress中获取GridControl排序之后的List
  5. HDU 5781 ATM Mechine(概率dp)
  6. 两岸三地在线编程学习网站大全
  7. IOS的一些文件操作。(沙箱) 在Documents目录下创建文件
  8. JavaScript实现继承机制(3)——通过原型链(prototype chaining)方式
  9. hdu 2516 取石子游戏
  10. 最后2天,错过等1年,这7本计算机经典图书竟然打折了!