redis集群安装(redis 集群 Waiting for the cluster to join..一直等待)

:暂无数据 2026-04-22 14:40:02 0
从一个常见的误区说起:很多人学redis集群安装,却忽略了redis 集群 Waiting for the cluster to join..一直等待。结果事倍功半。希望你不会再犯这个错误。

本文目录

redis 集群 Waiting for the cluster to join..一直等待

安装redis集群需要版本号在***以上redis-cluster安装前需要安装ruby环境搭建集群需要使用到官方提供的ruby脚本。需要安装ruby的环境。yum-yinstallrubyyum-yinstallrubygemsredis集群管理工具*****#geminstallredis-3.***.gemSuccessfullyinstalledredis-3.0.01geminstalledInstallingridocumentationforredis-3.0.0InstallingRDocdocumentationforredis-3.***集群的搭建需求,创建6台redis服务器,虚拟机模拟端口号为7001-7006第二步:修改redis的配置文件1、修改端口号第三步:把创建集群的ruby脚本复制到redis-cluster目录下。第四步:启动6个redis实例第五步:创建集群。

redis集群不了,端口也没有重复gem也安装了

单机搭建

1) 从Redis官网下载对应版本的redis安装包,在本文档中我使用的是*****版本。 
2) 安装

tar xvzf ***** *****

3) 简单配置相关操作命令

sudo cp src/redis-server /usr/local/bin/sudo cp src/redis-cli /usr/local/bin/

4) 启动Redis

$ redis-server85566:C 23 Aug 19:55:***** # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/*****... ...85566:M 23 Aug 19:55:***** * The server is now ready to accept connecti*** on port 6379

5) 检测Redis是否启动

$ redis-cli                                                                redis *****:6379》 pingPONG
redis *****:6379》 set mykey somevalue
OK
redis *****:6379》 get mykey"somevalue"

集群模式搭建

在介绍之前,先祭出官网地址,在这里只是简单的搭建步骤以及我在搭建时遇到的一些问题,相关注意事项以及简单原理还需要仔细阅读官方文档。 
1) 集群规划 
官网中有这么一段:

Note that the minimal cluster that works as expected requires to contain at least three master nodes. For your first tests it is strongly suggested to start a six nodes cluster with three masters and three slaves.

所以我们在规划集群时最少需要常见六个实例:

主机名

IP

端口

node03    *****    7000    

node03    *****    7001    

node03    *****    7002    

node04    *****    7000    

node04    *****    7001    

node04    *****    7002    

* 其中三个master,每个master对应一个salve*

2) 安装redis 
与单机版安装步骤相同,在node03和node04两个节点上安装redis服务

ssh node03
tar xvzf ***** mv redis-3.*** /usr/local/cd /usr/local/*****
# node04节点做相同的操作

3)创建相应配置文件

ssh node03mkdir cluster-test
cd cluster-testmkdir 7000 7001 7002

在每个目录中创建相应的redis配置文件*****:

bind ***** 7000           # 端口名与目录名一致daemonize yescluster-enabled yescluster-config-file *****
cluster-node-timeout 5000appendonly yes# node04节点做相同的操作

注意:bind 用来指定相应的ip,如果是不同节点之间构成集群,此参数必须指定,并且不能使用主机名,需要指定对应的IP地址

4) 启动实例

cd ./7000redis-server ***** ./7001redis-server ***** ./7002redis-server *****# node04节点做相同的操作

5) 安装基于ruby的redis模块

a. 离线安装rubygems下载地址

在本文档中下载的版本为*****

tar zxvf ***** ***** *****

b. 安装redis模块下载地址

使用gem命令安装:

gem install -l *****

6) 启动redis集群

cd /usr/local/bin/redis-3.***/src
./***** create -replicas 1 *****:7000 *****:7001 *****:7002 *****:7000 *****:7001 *****:7002

异常记录

异常1: 
在安装redis服务时出现该异常 
解决方法: 
使用下面命令进行服务安装:

make MALLOC=libc

异常2: 
在安装redis服务时出现该异常 
解决方法: 
给*****添加可执行权限

chmod +x src/*****

异常3: 
在构建redis集群时出现该异常 
异常分析: 
在配置文件中bind 参数不能使用节点主机名,必须指定相应的IP地址

解决方法: 
修改配置文件

$ vim cluster-test/7000
bind *****
port 7000           # 端口名与目录名一致
daemonize yes
cluster-enabled yes
cluster-config-file *****
cluster-node-timeout 5000
appendonly yes  

异常4: 
在构建redis集群时出现该异常 
异常分析: 
启动服务时,会重新分配slat,并将分配的信息写入到这些配置文件中,当再次启动时,就会出现冲突。 
解决方法: 
删除目录7000 7001 7002中自动生成的配置文件包括:***** ***** *****

异常5: 
在构建redis集群时,在Waiting for the cluster to join…时阻塞 
异常分析: 
redis后台会启动一个尽兴数据交换的进程,端口号为配置文件中指定的端口号+10000,防火墙没有关闭,导致节点间不能通信 
解决方法: 
关闭防火墙,重启

service iptables stop

k3s operator 方式 安装 redis 无中心集群

redis有单机,复制,分片这几种方式

复制就是把一个redis的数据,复制到另外一个redis,
分片就是把key分分组,一个redis拥有一部分key,另外一个redis拥有另外一部分key
分片+复制

有6个节点,3个master,3个slaver
1. 参考

***隐藏网址***

***隐藏网址***

***隐藏网址***
2. k3s安装

stateful pod, headless service

因为cluster不依赖dns,只依赖pod ip,要特别注意pod重启导致ip变化,但是stateful pod ip是不会变的

3. Operator Lifecycle Manager安装

***隐藏网址***

4. operator 安装

***隐藏网址***

5. 安装redis集群

apiVersion: *****/v1beta1

kind: Redis

metadata:

  name: redis

spec:

  mode: cluster

  size: 3

  global:

    image: ’*****/opstree/redis:****’

    imagePullPolicy: IfNotPresent

    password: Opstree@1234

    resources:

      requests:

        cpu: 100m

        memory: 128Mi

      limits:

        cpu: 100m

        memory: 128Mi

  master:

    service:

      type: ClusterIP

    redisConfig: {}

  slave:

    service:

      type: ClusterIP

    redisConfig: {}

  service:

    type: ClusterIP

  redisConfig: {}

  redisExporter:

    enabled: true

    image: ’*****/opstree/redis-exporter:***’

    imagePullPolicy: Always

    resources:

      requests:

        cpu: 100m

        memory: 128Mi

      limits:

        cpu: 100m

        memory: 128Mi

  storage:

    volumeClaimTemplate:

      spec:

        storageClassName: local-path

        accessModes:

          - ReadWriteOnce

        resources:

          requests:

            storage: 1Gi

6. 安装之后有6个pod,3个master,3个slaver

redis 多主多从集群搭建

多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展
redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点构成三主三从

redis 多节点启动 使用 ./redis-server ***** 指定不同的配置文件即可

宝塔搭建redis集群

单台服务器创建集群,多台也是一样操作,使用集群端口6380,6381,6382,6383,6384,6385

1、宝塔安装redis,路径一般是 /www/server/redis ,使用命令 ln -s /www/server/redis/src/redis-server /usr/bin/redis-server 将redis-server加入环境变量;

2、创建集群文件目录,如 /home/redis/cluster,从redis安装路径复制*****到/home/redis/cluster下,并修改名称为redis_*****,重复操作添加redis_*****,redis_*****,redis_*****,redis_*****,redis_*****

3、修改配置文件,打开redis_*****文件并一下内容,另外几个文件的端口分别改成和文件端口的一致
port 6380
pidfile /www/server/redis/redis_*****
logfile "/home/redis/log/redis_*****"
dbfilename dump_*****
cluster-enabled yes
cluster-config-file *****
cluster-node-timeout 15000

4、开启端口,将上面的6个端口分别开启,包括宝塔的和服务器的端口

5、分别启动redis redis-server cluster/redis_*****

6、创建集群
redis-cli --cluster create *****:6380 *****:6381 *****:6382 *****:6383 *****:6384 *****:6385 --cluster-replicas 1 如果不加–cluster-replicas 1则会创建6个主节点
7、通过端口连接redis
redis-cli -p 6384
使用命令 cluster info 查看集群信息
8、设置测试
连接6382端口redis获取test

获取成功

探索redis集群安装的旅程中,redis 集群 Waiting for the cluster to join..一直等待是一个重要的路标。希望这篇指南帮你确认了这个路标的方向。前方的路更精彩,关注我们,结伴同行!
本文编辑:admin

更多文章:


世卫组织宣布新冠结束(世贸组织宣布新冠疫情结束了吗)

世卫组织宣布新冠结束(世贸组织宣布新冠疫情结束了吗)

相信点开这篇文章的你,一定对世卫组织宣布新冠结束抱有好奇。没关系,下面我们就结合世贸组织宣布新冠疫情结束了吗,带你一步步揭开它的面纱。

2026年4月22日 16:00

matlab编程分段函数(matlab 隐函数 分段函数)

matlab编程分段函数(matlab 隐函数 分段函数)

你是否好奇,为什么人人都在谈matlab编程分段函数?它和matlab 隐函数 分段函数之间究竟存在着怎样微妙的联系?答案就在下文。

2026年4月22日 15:40

jc***ole linux(如何使用JCONSOLE 监控eclipse的tomcat)

jc***ole linux(如何使用JCONSOLE 监控eclipse的tomcat)

本文是您理解jc***ole linux的最后一站。我们将通过剖析如何使用JCONSOLE 监控eclipse的tomcat,帮你打通任督二脉,彻底领悟。

2026年4月22日 15:20

aspen plus 下载(aspen plus v11安装到最后一步出现一个弹窗)

aspen plus 下载(aspen plus v11安装到最后一步出现一个弹窗)

本篇内容旨在成为您理解aspen plus 下载的实用手册,其中aspen plus v11安装到最后一步出现一个弹窗将是我们要重点打磨的章节。

2026年4月22日 15:00

redis集群安装(redis 集群 Waiting for the cluster to join..一直等待)

redis集群安装(redis 集群 Waiting for the cluster to join..一直等待)

从一个常见的误区说起:很多人学redis集群安装,却忽略了redis 集群 Waiting for the cluster to join..一直等待。结果事倍功半。希望你不会再犯这个错误。

2026年4月22日 14:40

大学生慕课网(为什么中国大学生慕课课时刷完了却不显示最后一个课时)

大学生慕课网(为什么中国大学生慕课课时刷完了却不显示最后一个课时)

本篇关于大学生慕课网的讲解,将摒弃陈词滥调,直击为什么中国大学生慕课课时刷完了却不显示最后一个课时这一实战要害,给你可即刻应用的策略。

2026年4月22日 14:20

mac是什么版本(mac版是什么意思)

mac是什么版本(mac版是什么意思)

“mac是什么版本”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看mac是什么版本(mac版是什么意思)!

2026年4月22日 14:00

presentation是什么意思(presentation什么意思中文翻译)

presentation是什么意思(presentation什么意思中文翻译)

大家好,今天小编来为大家解答以下的问题,关于presentation是什么意思,presentation什么意思中文翻译这个很多人还不知道,现在让我们一起来看看吧!

2026年4月22日 13:40

flex 垂直居中和水平居中(谁能帮我解释下display:flex; margin:auto实现垂直水平居中的原理)

flex 垂直居中和水平居中(谁能帮我解释下display:flex; margin:auto实现垂直水平居中的原理)

本篇文章给大家谈谈flex 垂直居中和水平居中,以及谁能帮我解释下display:flex; margin:auto实现垂直水平居中的原理对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可

2026年4月22日 13:20

2021程序员工资一般多少(微软程序员工资一般多少)

2021程序员工资一般多少(微软程序员工资一般多少)

回顾我学习2021程序员工资一般多少的经历,微软程序员工资一般多少可算是一个重要的转折点。正是搞懂了它,一切才变得顺畅起来。

2026年4月22日 13:00

最近更新

jc***ole linux(如何使用JCONSOLE 监控eclipse的tomcat)
2026-04-22 15:20:02 浏览:0
aspen plus 下载(aspen plus v11安装到最后一步出现一个弹窗)
2026-04-22 15:00:01 浏览:0
redis集群安装(redis 集群 Waiting for the cluster to join..一直等待)
2026-04-22 14:40:02 浏览:0
mac是什么版本(mac版是什么意思)
2026-04-22 14:00:02 浏览:0
presentation是什么意思(presentation什么意思中文翻译)
2026-04-22 13:40:01 浏览:0
热门文章

split函数 sql(求sql split函数的用法)
2026-03-26 20:40:01 浏览:1
phpweb 采用wamp(php环境搭建)
2026-03-28 14:00:01 浏览:1
threadripper怎么读(我是AMD的CPU,玩lol,110多℃怎么办)
2026-04-21 20:20:02 浏览:0
floatleft是什么意思(displayflex和floatleft的区别)
2026-04-17 04:40:03 浏览:0
empty love钢琴谱(empty love什么意思/什么含义)
2026-04-22 01:40:02 浏览:0
标签列表