返回顶部
首页 > 资讯 > 后端开发 > Python >redis 3.0 cluster 集群
  • 263
分享到

redis 3.0 cluster 集群

集群rediscluster 2023-01-31 05:01:48 263人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

周氏一族,整理技术文档,给下一代留点教程......Redis 3.0 cluster 安装篇,请看 Http://zhoushouby.blog.51cto.com/9150272/1560400 本篇,是在 "redis 3.0 clu

周氏一族,整理技术文档,给下一代留点教程......


Redis 3.0 cluster 安装篇,请看 Http://zhoushouby.blog.51cto.com/9150272/1560400


本篇,是在 "redis 3.0 cluster 集群 学习之路篇 [2]" 的基础上面实现 “实际生产中Redis服务器部署” 安装调试以及测试


六台服务器

server21      10.1.3.21         

server22      10.1.3.22

server23      10.1.3.23

server24      10.1.3.24

server25      10.1.3.25

server26      10.1.3.26

---------------------------------每一台/etc/hosts里面都有添加一一对应记录



redis.conf 配置如下

port  6379

daemonize yes

cluster-enabled yes

cluster-config-file /usr/local/redis/nodes.conf  

cluster-node-timeout 5000

dir /usr/local/redis

细心看,你会发现,上面多了一个路径,对的,个人习惯,我给redis创建了一个单独的目录,方便以后查找。


六台机器,所有配置一模一样,统一配置。


一路下来,完全没问题,每一台都能独立的运行redis服务

redis-server /usr/local/redis/redis.conf > /usr/local/redis/redis.log 2>&1 &


但是,当我要来给他们开始集群的时候,就发生下面这么一幕情况

[root@server21 src]# ./redis-trib.rb create --replicas 1 10.1.3.21:6379 10.1.3.22:6379 10.1.3.26:6379 10.1.3.25:6379 10.1.3.24:6379 10.1.3.23:6379

>>> Creating cluster

Connecting to node 10.1.3.21:6379: OK

Connecting to node 10.1.3.22:6379: OK

Connecting to node 10.1.3.26:6379: OK

Connecting to node 10.1.3.25:6379: OK

Connecting to node 10.1.3.24:6379: OK

Connecting to node 10.1.3.23:6379: OK

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

Using 3 masters:

10.1.3.23:6379

10.1.3.24:6379

10.1.3.25:6379

Adding replica 10.1.3.26:6379 to 10.1.3.23:6379

Adding replica 10.1.3.22:7379 to 10.1.3.24:6379

Adding replica 10.1.3.21:7379 to 10.1.3.25:6379

S: fe32667413D75aa9dcebf28aa53fe4ed0df91bba 10.1.3.21:6379

   replicates 7f4c3a0ea64c9f85e7d239c8968c94818decb9a8

S: 3b10b61ebf7ff4e618a945aa353e9e113541557a 10.1.3.22:6379

   replicates f6c6fac2ada651819fac2ddc0daa91f54062a261

S: 0f9a72b4cb6b1ec2d20cc5f0d82be29925c8a050 10.1.3.26:6379

   replicates 96dda21bf7dc9ba81c160375b39a59aedf78733d

M: 7f4c3a0ea64c9f85e7d239c8968c94818decb9a8 10.1.3.25:6379

   slots:10923-16383 (5461 slots) master

M: f6c6fac2ada651819fac2ddc0daa91f54062a261 10.1.3.24:6379

   slots:0-10922 (10923 slots) master

M: 96dda21bf7dc9ba81c160375b39a59aedf78733d 10.1.3.23:6379

   slots:0-10922 (10923 slots) master

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

/usr/lib64/ruby/gems/1.8/gems/redis-3.0.7/lib/redis/client.rb:97:in `call': ERR Slot 16011 is already busy (Redis::CommandError)

        from /usr/lib64/ruby/gems/1.8/gems/redis-3.0.7/lib/redis.rb:2432:in `method_missing'

        from /usr/lib64/ruby/gems/1.8/gems/redis-3.0.7/lib/redis.rb:37:in `synchronize'

        from /usr/lib/ruby/1.8/monitor.rb:242:in `mon_synchronize'

        from /usr/lib64/ruby/gems/1.8/gems/redis-3.0.7/lib/redis.rb:37:in `synchronize'

        from /usr/lib64/ruby/gems/1.8/gems/redis-3.0.7/lib/redis.rb:2431:in `method_missing'

        from ./redis-trib.rb:203:in `flush_node_config'

        from ./redis-trib.rb:629:in `flush_nodes_config'

        from ./redis-trib.rb:628:in `each'

        from ./redis-trib.rb:628:in `flush_nodes_config'

        from ./redis-trib.rb:964:in `create_cluster_cmd'

        from ./redis-trib.rb:1340:in `send'

        from ./redis-trib.rb:1340

[root@server21 src]# 


人生,从此不再寂寞了,开启蛋疼模式


开始找问题,蛋疼的就是他一个错误日志都没有,没法下手。

没办法之下,只好问度娘了,但是,网上看得我眼花缭乱,在大陆,只能找到这么一出玩意

http://blog.csdn.net/moxiaomomo/article/details/19333547


感觉有点道理,因为我的生产环境,之前是redis 2.x的版本,今天更新到3.0,可能会是我redis没卸载干净导致的。

好,二话不说,把服务器再清理一遍,然后重启一下。因为安装步骤都是按照我之前的来,没出现过问题,而且之前在VM里面装的时候,VM的系统是全新的,所以觉得他这个有点道理。开始捣腾起来了。


半个小时候过后,问题依旧,又来到这个问题了。


最终没办法,翻一下墙,泡一下老外redis开源问答区,碰见这个问题的,还不少,比中国大陆好多了,至少搜索下来,有那么10几篇文章,都是在咨询这个问题,但是没有最终的答案


别人不行,那就只能靠自己了。

/usr/lib64/ruby/gems/1.8/gems/redis-3.0.7/lib/redis/client.rb:97:

他提示我说97行这里不行,那就编辑他,gg到87行这里定位一下


终于,总算,找到问题所在了。这个是因为port和nodes文件的问题,不能设置成相同nodes名字的,而且端口也设置成不一样。


晒一下,我最终的配置

[root@server21 ~]# ll /usr/local/redis/

total 60

-rw-r--r-- 1 root root    89 Oct  3 20:02 appendonly.aof

-rw-r--r-- 1 root root    18 Oct  3 20:17 dump.rdb

-rw-r--r-- 1 root root   733 Oct  3 19:30 nodes-8021.conf

-rw-r--r-- 1 root root   115 Oct  3 17:27 nodes.conf

-rw-r--r-- 1 root root 37019 Oct  3 18:48 redis.conf

-rw-r--r-- 1 root root    22 Oct  3 18:56 redis.log

[root@server21 ~]# 


server21      port  8021       nodes-8021.conf

server22      port  8022       nodes-8022.conf

server23      port  8023       nodes-8023.conf

server24      port  8024       nodes-8024.conf

server25      port  8025       nodes-8025.conf

server26      port  8026       nodes-8026.conf


折腾了快两个小时,最后一次通过,这种感觉超爽!!!

[root@server21 src]# ./redis-trib.rb create --replicas 1 10.1.3.21:8021 10.1.3.22:8022 10.1.3.23:8023 10.1.3.24:8024 10.1.3.25:8025 10.1.3.26:8026

>>> Creating cluster

Connecting to node 10.1.3.21:8021: OK

Connecting to node 10.1.3.22:8022: OK

Connecting to node 10.1.3.23:8023: OK

Connecting to node 10.1.3.24:8024: OK

Connecting to node 10.1.3.25:8025: OK

Connecting to node 10.1.3.26:8026: OK

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

Using 3 masters:

10.1.3.26:8026

10.1.3.25:8025

10.1.3.24:8024

Adding replica 10.1.3.23:8023 to 10.1.3.26:8026

Adding replica 10.1.3.22:8022 to 10.1.3.25:8025

Adding replica 10.1.3.21:8021 to 10.1.3.24:8024

S: 690bb1a31fff14557483e1e6dea60e5e748fff41 10.1.3.21:8021

   replicates 89efca75e220cdeb159e1e4954b953337563683f

S: ae258d0a8e31d2cac64aaad62327ec85c3ce12d7 10.1.3.22:8022

   replicates da00c6e9cf5f572396d7cfb006cbcb98e69928ee

S: 8d45084d0ec34c4547c7e57228a5db0ba7eeeba2 10.1.3.23:8023

   replicates e25ffd0663bf13d5b6aa6a397ffb0c21e4b11e05

M: 89efca75e220cdeb159e1e4954b953337563683f 10.1.3.24:8024

   slots:10923-16383 (5461 slots) master

M: da00c6e9cf5f572396d7cfb006cbcb98e69928ee 10.1.3.25:8025

   slots:5461-10922 (5462 slots) master

M: e25ffd0663bf13d5b6aa6a397ffb0c21e4b11e05 10.1.3.26:8026

   slots:0-5460 (5461 slots) master

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 10.1.3.21:8021)

M: 690bb1a31fff14557483e1e6dea60e5e748fff41 10.1.3.21:8021

   slots: (0 slots) master

   replicates 89efca75e220cdeb159e1e4954b953337563683f

M: ae258d0a8e31d2cac64aaad62327ec85c3ce12d7 10.1.3.22:8022

   slots: (0 slots) master

   replicates da00c6e9cf5f572396d7cfb006cbcb98e69928ee

M: 8d45084d0ec34c4547c7e57228a5db0ba7eeeba2 10.1.3.23:8023

   slots: (0 slots) master

   replicates e25ffd0663bf13d5b6aa6a397ffb0c21e4b11e05

M: 89efca75e220cdeb159e1e4954b953337563683f 10.1.3.24:8024

   slots:10923-16383 (5461 slots) master

M: da00c6e9cf5f572396d7cfb006cbcb98e69928ee 10.1.3.25:8025

   slots:5461-10922 (5462 slots) master

M: e25ffd0663bf13d5b6aa6a397ffb0c21e4b11e05 10.1.3.26:8026

   slots:0-5460 (5461 slots) master

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

[root@server21 src]# ./redis-trib.rb check 10.1.3.21:8021

Connecting to node 10.1.3.21:8021: OK

Connecting to node 10.1.3.23:8023: OK

Connecting to node 10.1.3.26:8026: OK

Connecting to node 10.1.3.25:8025: OK

Connecting to node 10.1.3.24:8024: OK

Connecting to node 10.1.3.22:8022: OK

>>> Performing Cluster Check (using node 10.1.3.21:8021)

S: 690bb1a31fff14557483e1e6dea60e5e748fff41 10.1.3.21:8021

   slots: (0 slots) slave

   replicates 89efca75e220cdeb159e1e4954b953337563683f

S: 8d45084d0ec34c4547c7e57228a5db0ba7eeeba2 10.1.3.23:8023

   slots: (0 slots) slave

   replicates e25ffd0663bf13d5b6aa6a397ffb0c21e4b11e05

M: e25ffd0663bf13d5b6aa6a397ffb0c21e4b11e05 10.1.3.26:8026

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

M: da00c6e9cf5f572396d7cfb006cbcb98e69928ee 10.1.3.25:8025

   slots:5461-10922 (5462 slots) master

   1 additional replica(s)

M: 89efca75e220cdeb159e1e4954b953337563683f 10.1.3.24:8024

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

S: ae258d0a8e31d2cac64aaad62327ec85c3ce12d7 10.1.3.22:8022

   slots: (0 slots) slave

   replicates da00c6e9cf5f572396d7cfb006cbcb98e69928ee

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

[root@server21 src]# 


写下来,给后来者留点脚印......



--结束END--

本文标题: redis 3.0 cluster 集群

本文链接: https://lsjlt.com/news/188338.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis 3.0 cluster 集群
    周氏一族,整理技术文档,给下一代留点教程......redis 3.0 cluster 安装篇,请看 http://zhoushouby.blog.51cto.com/9150272/1560400 本篇,是在 "redis 3.0 clu...
    99+
    2023-01-31
    集群 redis cluster
  • Redis集群(Cluster)
    Redis集群 集群解决的问题代理主机和无中心化集群Redis集群的特点Redis集群环境搭建slots(插槽)在集群中录入值查询集群中的值故障恢复Redis集群的优缺点 集群解决的问...
    99+
    2023-08-31
    redis 数据库 服务器
  • redis-cluster集群是什么?
    redis-cluster集群是什么?相信大部分人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,话不多说,一起往下看吧。不同于master-salve 或者 哨兵模式 cluster与他们最大的...
    99+
    2024-04-02
  • Docker Redis 5.0 集群(cluster)搭建
    一、准备工具 安装docker(来自官网) (1) 安装所需的软件包 $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 (2) 使用以下命令来设置稳定...
    99+
    2015-01-06
    Docker Redis 5.0 集群(cluster)搭建
  • Redis Cluster集群部署搭建
    在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉。Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品。今天,就分享一下安装Redis集群的过程...
    99+
    2024-04-02
  • 怎样关闭redis Cluster集群
    Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation)。Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redi...
    99+
    2024-04-02
  • Redis中的Cluster集群介绍
    这篇文章主要介绍“Redis中的Cluster集群介绍”,在日常操作中,相信很多人在Redis中的Cluster集群介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redi...
    99+
    2024-04-02
  • Redis集群(cluster模式)搭建
    目录 1、什么是集群 2、为什么使用 3、集群连接 4、redis cluster 如何分配这六个节点 5、集群搭建: 1、什么是集群 Redis 集群(包括很多小集群)实现了对Redis的水平扩容,即启动N个redis节点,将整个数...
    99+
    2023-09-05
    redis 数据库 java linux
  • Redis高可用集群redis-cluster详解
    哨兵模式主要解决了手动切换主从节点的问题 1 , 哨兵模式的缺陷 .主从节点切换的时候存在访问瞬断,等待时间较长, .只有一个master节点提供写,slave节点提供读,尽管写的效...
    99+
    2024-04-02
  • Redis Cluster 集群搭建你会吗
    三台机器 201、202、203,每台机器装两个 redis 实例,构建 redis cluster 集群。 1. 安装 添加 redis-cluster 目录,将 redis 压缩...
    99+
    2024-04-02
  • Redis中cluster集群的示例分析
    这篇文章主要为大家展示了“Redis中cluster集群的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redis中cluster集群的示例分析”这篇文...
    99+
    2024-04-02
  • Redis6.0搭建集群Redis-cluster的方法
    此处以三台服务器部署为例,IP地址分别为192.168.124.23,192.168.124.24,192.168.124.25 使用普通用户ubuntu登录 总共三个主节点和三个从...
    99+
    2024-04-02
  • k8s部署redis cluster集群的实现
    目录Redis 介绍为什么要用Redis什么是Redis Cluster集群k8s以StatefulSet方式部署redis cluster集群:部署nfs创建pv部署redis初始...
    99+
    2024-04-02
  • Redis 6.X Cluster集群如何搭建
    这篇文章将为大家详细讲解有关Redis 6.X Cluster集群如何搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Part1Redis 6.X Cluster 集群搭建1下载解压可直接到...
    99+
    2023-06-15
  • 怎么安装和管理redis-cluster集群
    redis-cluster的安装管理环境介绍系统环境:Red Hat Enterprise Linux Server release 6.2 (Santiago)内核版本:Linux zxt-02.com ...
    99+
    2024-04-02
  • 学习Redis Cluster并手动搭建集群
    Redis Cluster采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16383。槽是集群内数据管理和迁移的基本单位。采用大范围槽的主...
    99+
    2024-04-02
  • redis cluster 集群搭建(增、删、改、查) :5.0.2
    环境简介: 1:centos 7 ; 2:redis version 5.0.2 ; 3: 安装方式:编译安装 ; 4:。。。 创建集群 节点IP地址 10.42.166.105:6379 1...
    99+
    2024-04-02
  • 怎么安装搭建redis cluster 4.0.9集群
    本篇内容主要讲解“怎么安装搭建redis cluster 4.0.9集群”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么安装搭建redis cluster 4...
    99+
    2024-04-02
  • Redis cluster集群模式的原理解析
    redis cluster redis cluster是Redis的分布式解决方案,在3.0版本推出后有效地解决了redis分布式方面的需求 自动将数据进行分片,每个master上放...
    99+
    2024-04-02
  • Redis Cluster集群动态扩容的实现
    目录一、引言 二、Cluster集群增加操作1、动态增加Master主服务器节点 2、动态增加Slave从服务器节点 三、Cluster集群删除操作 1、动态删除Slave从服务器节...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作