二进制redis集群部署

〇、前言

无聊想学罢了

准备环境:

三台centos7 1C1GB即可

三个路相连的地址

主机 IP 节点-角色-实例(端口)
redis1 172.16.106.128 M1-master-7000、S1-slave-7001
redis2 172.16.106.129 M2-master-7002、S2-slave-7003
redis3 172.16.106.130 M3-master-7004、S3-slave-7005

一、二进制部署redis

https://www.cnblogs.com/qq931399960/p/10584877.html

二、配置集群

2.1 创建集群目录

以redis1为例,2和3以此类推

mkdir -p /data/redis-cluster/{7000,7001}

目录结构如下:

/data/redis-cluster/
├── 7000
│ ├── redis.conf # redis 实例配置文件
│ └── nodes.conf # redis 集群节点的配置文件(由集群自动创建)
└── 7001
│ ├── redis.conf # redis 实例配置文件
│ └── nodes.conf # redis 集群节点的配置文件(由集群自动创建)

2.2 创建实例配置文件

分别复制 redis 源码目录下的 redis.conf 至节点配置和数据目录。

以redis的7000为例,其余以此类推

port 7000
bind 0.0.0.0
dir /data/redis-cluster/7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

2.3 记得关闭防火墙或者开放相应端口

systemctl stop firewalld
systemctl disable firewalld

三、启动集群

3.1分别启动各端口服务(后台启动)

# redis1上
redis-server /data/redis-cluster/7000/redis.conf &
redis-server /data/redis-cluster/7001/redis.conf &
# redis2上
redis-server /data/redis-cluster/7002/redis.conf &
redis-server /data/redis-cluster/7003/redis.conf &
# redis3上
redis-server /data/redis-cluster/7004/redis.conf &
redis-server /data/redis-cluster/7005/redis.conf &

3.2 拉集群

redis-cli --cluster create --cluster-replicas 1 \
172.16.106.128:7000 \
172.16.106.128:7001 \
172.16.106.129:7002 \
172.16.106.129:7003 \
172.16.106.130:7004 \
172.16.106.130:7005

根据提示输入yes,出现下列信息则表示集群创建成功。

四、测试

4.1查看集群信息

在任意一个 redis 节点的主机上执行以下命令:

# redis-cli -c -h 192.168.0.100 -p 7000 cluster info

应输出类型以下信息:

cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:101
cluster_stats_messages_pong_sent:98
cluster_stats_messages_sent:199
cluster_stats_messages_ping_received:93
cluster_stats_messages_pong_received:101
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:199

4.2列出集群节点

在任意一个 redis 节点的主机上执行以下命令,列出集群当前已知的所有节点(node),以及这些节点的相关信息。

# redis-cli -c -h 192.168.0.100 -p 7000 cluster nodes

输出类似以下信息:

50725018cd7f5f20214b0ed462975258397dfe29 192.168.0.102:7005@17005 slave 39e335386bb48f012f433287ed853174009114e5 0 1554876136000 6 connected
8874f69c2f5747cce3a02387167a00cdaba43d3c 192.168.0.100:7001@17001 master - 0 1554876137380 2 connected 5461-10922
c9cb48efbc1a83098cb730a5295402d9cdb343c2 192.168.0.101:7003@17003 slave 917301c74a9ed1ed52918b8e4c7f88de9743c361 0 1554876136375 4 connected
5633e918818033552b1adc089d99fbe9bcf36589 192.168.0.102:7004@17004 slave 8874f69c2f5747cce3a02387167a00cdaba43d3c 0 1554876136072 5 connected
917301c74a9ed1ed52918b8e4c7f88de9743c361 192.168.0.100:7000@17000 myself,master - 0 1554876136000 1 connected 0-5460
39e335386bb48f012f433287ed853174009114e5 192.168.0.101:7002@17002 master - 0 1554876136878 3 connected 10923-16383

4.3查看集群数据槽分配

在任意一个 redis 节点的主机上执行以下命令,显示集群当前所有数据槽的分配情况。

# redis-cli -c -h 192.168.0.100 -p 7000 cluster slots

输出类似以下信息:

1) 1) (integer) 5461
2) (integer) 10922
3) 1) "127.0.0.1"
2) (integer) 7001
4) 1) "127.0.0.1"
2) (integer) 7004
2) 1) (integer) 0
2) (integer) 5460
3) 1) "127.0.0.1"
2) (integer) 7000
4) 1) "127.0.0.1"
2) (integer) 7003
3) 1) (integer) 10923
2) (integer) 16383
3) 1) "127.0.0.1"
2) (integer) 7002
4) 1) "127.0.0.1"
2) (integer) 7005

最新文章

  1. 百度编辑器UEditor的使用方法
  2. SQL复制表及表结构
  3. javascript三种创建对象的方式
  4. Popular Deep Learning Tools – a review
  5. 邓_ phpcms_
  6. JavaWeb学习笔记八 监听器
  7. Vue基础之数据绑定
  8. python自动化开发-[第九天]-异常处理、进程
  9. 客服端与服务端APP支付宝支付接口联调的那些坑
  10. iOS开发-iOS8地理位置定位
  11. unbound域名解析
  12. js 和springboot内存图
  13. js-jQuery对象与dom对象相互转换(转载)
  14. Linux中用户与组相关配置文件(整理)
  15. JSON与Javabean转换的几种形式
  16. Fisheye projections from spherical maps [转]
  17. java中虚拟机命令:jstack使用方法
  18. Python面试题之Python生成器
  19. 微信小程序scroll-viwe遇到的问题
  20. Codeforces Round #435 (Div. 2) B (二分图) C(构造)

热门文章

  1. zabbix通过invoke调用监控服务可用性
  2. 到点了开始网抑云(悲)但是用python(整活)
  3. MYSQL中IF IN语句
  4. 5.RDD操作综合实例
  5. NC207028 第k小数
  6. Codeforces Round #792 (Div. 1 + Div. 2) A-E
  7. CSS 盒子模型(一)
  8. 009 面试题 SQL语句各部分的执行顺序
  9. React报错之Object is possibly null
  10. 小白之Python基础(二)