前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【网络技术联盟站】centos7.6环境下redis5.0.8集群搭建文档

【网络技术联盟站】centos7.6环境下redis5.0.8集群搭建文档

原创
作者头像
网络技术联盟站
修改2020-10-23 17:56:01
3490
修改2020-10-23 17:56:01
举报

一、做基础配置

a) 首先创建3个空文件

代码语言:javascript
复制
mkdir -p /server/redis_cluster/7001/data
mkdir -p /server/redis_cluster/7002/data
mkdir -p /server/redis_cluster/7003/data

b) 把redis.conf拷贝到/server/redis_cluster/7001

代码语言:javascript
复制
cp /server/redis-5.0.8/redis.conf /server/redis_cluster/7001

c) 修改redis.conf(不同节点配置文件端口好不同)

代码语言:javascript
复制
#设置端口号
port 7001
#数据存放位置,必须要指定
dir /server/redis_cluster/7001/data
#启动集群模式
cluster-enabled yes
#集群节点信息文件
cluster-config-file nodes-7001.conf
cluster-node-timeout 5000
#去掉bind绑定访问ip信息
bind 192.168.40.10
#关闭保护模式
protected-mode no
#开启AOF模式,默认的持久化上RDB
appendonly yes

d) 实例

代码语言:javascript
复制
port  7001
#端口7001,7002,7003
bind 本机ip
#默认ip为192.168.40.10需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes
#redis后台运行
pidfile  /var/run/redis_7001.pid
#pidfile文件对应7001,7002,7003
cluster-enabled  yes
#开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf
#集群的配置  配置文件首次启动自动生成 7001,7002,7003
cluster-node-timeout  15000
#请求超时  默认15秒,可自行设置
appendonly  yes
#aof日志开启  有需要就开启,它会每次写操作都记录一条日志

e) 替换redis.conf里的端口号

代码语言:javascript
复制
vim /server/redis_cluster/7002/redis.conf
:%s/7001/7002/g
vim /server/redis_cluster/7003/redis.conf
:%s/7001/7003/g

二、 首先创建3个空文件

代码语言:javascript
复制
mkdir -p /server/redis_cluster/7004/data
mkdir -p /server/redis_cluster/7005/data
mkdir -p /server/redis_cluster/7006/data

三、 把redis.conf拷贝到/server/redis_cluster/7004

代码语言:javascript
复制
cp /server/redis-5.0.8/redis.conf /server/redis_cluster/7004

a) 编辑7004/redis.conf

代码语言:javascript
复制
#//设置端口号
port 7004 
#数据存放位置,必须要指定
dir /server/redis_cluster/7004/data
#启动集群模式
cluster-enabled yes
#集群节点信息文件
cluster-config-file nodes-7004.conf
cluster-node-timeout 5000
#去掉bind绑定访问ip信息
bind 192.168.40.11
#关闭保护模式
protected-mode no
#开启AOF模式,默认的持久化上RDB
appendonly yes

b) 拷贝7004节点的conf文件到其他节点并批量替换节点端口号

代码语言:javascript
复制
vim /server/redis_cluster/7005/redis.conf
:%s/7004/7005/g
vim /server/redis_cluster/7006/redis.conf
:%s/7004/7006/g

四、 启动redis服务

代码语言:javascript
复制
redis-server /server/redis_cluster/7001/redis.conf
redis-server /server/redis_cluster/7002/redis.conf
redis-server /server/redis_cluster/7003/redis.conf`
redis-server /server/redis_cluster/7004/redis.conf
redis-server /server/redis_cluster/7005/redis.conf
redis-server /server/redis_cluster/7006/redis.conf

五、 查看是否有进程

代码语言:javascript
复制
ps -ef | grep redis

六、 创建集群

a) 命令格式

代码语言:javascript
复制
redis-cli -a *** --cluster create  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 127.0.0.1:7006 --cluster-replicas 1
代码语言:javascript
复制
-a *** 密码 如果redis.conf中配置了密码创建集群时需要添加
--cluster-replicas 1 从节点个数

b) 使用create-cluster搭建

只创建主节点(不包含slave节点)

代码语言:javascript
复制
redis-cli --cluster create 192.168.40.10:7001 192.168.40.10:7002 192.168.40.10:7003 --cluster-replicas 0

c) 查看192.168.40.10:7001节点ID

代码语言:javascript
复制
redis-cli --cluster check 192.168.40.10:7001
代码语言:javascript
复制
192.168.40.10:7001 (603f34b6...) -> 0 keys | 5461 slots | 0 slaves.
192.168.40.10:7003 (c28c02bc...) -> 0 keys | 5461 slots | 0 slaves.
192.168.40.10:7002 (9103ce33...) -> 0 keys | 5462 slots | 0 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.40.10:7001)
M: 	603f34b6f1bfa681f1e339bda355f225125488b4 192.168.40.10:7001
slots:[0-5460] (5461 slots) master
M: c28c02bca8611298a01717b0591cadec04c77aad 192.168.40.10:7003
slots:[10923-16383] (5461 slots) master
M: 9103ce333b822ac9e0cac4f1d499e72e149197d3 192.168.40.10:7002
slots:[5461-10922] (5462 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

d) 手动添加从节点

代码语言:javascript
复制
redis-cli --cluster add-node 192.168.40.11:7004 192.168.40.10:7001 --cluster-slave --cluster-master-id 603f34b6f1bfa681f1e339bda355f225125488b4
代码语言:javascript
复制
redis-cli --cluster add-node 192.168.40.11:7005 192.168.40.10:7002 --cluster-slave --cluster-master-id 9103ce333b822ac9e0cac4f1d499e72e149197d3
代码语言:javascript
复制
redis-cli --cluster add-node 192.168.40.11:7006 192.168.40.10:7003 --cluster-slave --cluster-master-id c28c02bca8611298a01717b0591cadec04c77aad

七、 验证集群

a) 登录集群节点

代码语言:javascript
复制
./redis-cli -h 192.168.40.10 -p 7001

b) 查看集群状态

代码语言:javascript
复制
192.168.40.10:7001> cluster info
代码语言:javascript
复制
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:3
cluster_my_epoch:1
cluster_stats_messages_ping_sent:1478
cluster_stats_messages_pong_sent:1382
cluster_stats_messages_meet_sent:1
cluster_stats_messages_sent:2861
cluster_stats_messages_ping_received:1378
cluster_stats_messages_pong_received:1479
cluster_stats_messages_meet_received:4
cluster_stats_messages_received:2861

c) 查看集群主从关系(根据slave后面的id确定当前节点的主节点是哪个)

代码语言:javascript
复制
192.168.40.10:7001> cluster nodes
代码语言:javascript
复制
c28c02bca8611298a01717b0591cadec04c77aad 192.168.40.10:7003[@17003] master - 0 1598951187016 3 connected 10923-16383
6523aa8a3bf53eae1ef8df25c0f42c820e0af7d6 192.168.40.11:7004@17004 slave 603f34b6f1bfa681f1e339bda355f225125488b4 0 1598951188022 1 connected
32883231bf8908549f1720ab99161738865ec009 192.168.40.11:7005@17005 slave 9103ce333b822ac9e0cac4f1d499e72e149197d3 0 1598951186010 2 connected
d679eba5a795cdd1c6b4722bb5fb33cad60e0c18 192.168.40.11:7006@17006 slave c28c02bca8611298a01717b0591cadec04c77aad 0 1598951187000 3 connected
603f34b6f1bfa681f1e339bda355f225125488b4 192.168.40.10:7001@17001 myself,master - 0 1598951184000 1 connected 0-5460
9103ce333b822ac9e0cac4f1d499e72e149197d3 192.168.40.10:7002@17002 master - 0 1598951185002 2 connected 5461-10922

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、做基础配置
    • a) 首先创建3个空文件
      • b) 把redis.conf拷贝到/server/redis_cluster/7001
        • c) 修改redis.conf(不同节点配置文件端口好不同)
          • d) 实例
            • e) 替换redis.conf里的端口号
            • 二、 首先创建3个空文件
            • 三、 把redis.conf拷贝到/server/redis_cluster/7004
              • a) 编辑7004/redis.conf
                • b) 拷贝7004节点的conf文件到其他节点并批量替换节点端口号
                • 四、 启动redis服务
                • 五、 查看是否有进程
                • 六、 创建集群
                  • a) 命令格式
                    • b) 使用create-cluster搭建
                      • c) 查看192.168.40.10:7001节点ID
                        • d) 手动添加从节点
                        • 七、 验证集群
                          • a) 登录集群节点
                            • b) 查看集群状态
                              • c) 查看集群主从关系(根据slave后面的id确定当前节点的主节点是哪个)
                              相关产品与服务
                              云数据库 Redis
                              腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档