redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip

redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip

  • 1、安装redis三主三从集群
  • 2、正常状态的redis集群
  • 3、更改redis集群服务器的ip 重启服务器 集群会down
  • 4、更改redis集群服务器的ip 重启服务器 集群down的原因
  • 5、更改redis集群服务器的ip后,如何解决redis集群down的问题

1、安装redis三主三从集群

参考 安装redis三主三从集群
在此例中 安装的redis集群信息如下

机器IPredis端口redis安装目录每个redis节点配置文件每个redis节点的集群配置文件
192.168.2.1626379/usr/local/redis//usr/local/redis/conf/redis-cluster-6379.conf/data/redis7/cluster/6379/data/nodes-6379.conf
192.168.2.1626380/usr/local/redis//usr/local/redis/conf/redis-cluster-6380.conf/data/redis7/cluster/6380/data/nodes-6380.conf
192.168.2.1646379/usr/local/redis//usr/local/redis/conf/redis-cluster-6379.conf/data/redis7/cluster/6379/data/nodes-6379.conf
192.168.2.1646380/usr/local/redis//usr/local/redis/conf/redis-cluster-6380.conf/data/redis7/cluster/6380/data/nodes-6380.conf
192.168.2.1686379/usr/local/redis//usr/local/redis/conf/redis-cluster-6379.conf/data/redis7/cluster/6379/data/nodes-6379.conf
192.168.2.1686380/usr/local/redis//usr/local/redis/conf/redis-cluster-6380.conf/data/redis7/cluster/6380/data/nodes-6380.conf

2、正常状态的redis集群

查看redis集群状态
在redis集群中任一台机器上登录redis

redis-cli -c -p 6379

登入redis后 执行

auth 123456
cluster info
cluster nodes

其中cluster info 显示 cluster_state:ok 即表示集群状态正常。
在这里插入图片描述

redis存储的数据如下 用redisinsight连接redis集群中任一节点 查看redis存储的数据

在这里插入图片描述

3、更改redis集群服务器的ip 重启服务器 集群会down

把 192.168.2.162 改为 192.168.2.172
把 192.168.2.164 改为 192.168.2.174
把 192.168.2.168 改为 192.168.2.178

然后重启服务器
再次查看redis集群状态
在redis集群中任一台机器上登录redis

redis-cli -c -p 6379

登入redis后 执行

auth 123456
cluster info
cluster nodes

其中cluster info 显示 cluster_state:fail 即表示集群状态不正常。

在这里插入图片描述

发现redis集群已经处于down的状态。cluster_state:fail 就表示集群已经down了。

用redisinsight连接同样发现集群已经down了。
在这里插入图片描述

4、更改redis集群服务器的ip 重启服务器 集群down的原因

因为更改了服务器ip,服务器的IP和原来不一样了,但是记录集群状态的节点配置文件中的IP还仍然是以前的IP(因为集群是更改服务器IP之前创建的)

cat /data/redis7/cluster/6379/data/nodes-6379.conf
cat /data/redis7/cluster/6380/data/nodes-6380.conf

在这里插入图片描述

导致集群之间还认为是以前的IP,因此集群down了。

5、更改redis集群服务器的ip后,如何解决redis集群down的问题

有两种解决方法:
1、删除现有redis集群,创建新的redis集群,这种方法会破坏现有的redis数据,因此在生产服务器上不可用。
2、更改每个redis集群节点的节点配置文件,把IP对应改成新的IP,此种方法不损失redis数据,可以使用。

找到IP更改记录如下:
把 192.168.2.162 改为 192.168.2.172
把 192.168.2.164 改为 192.168.2.174
把 192.168.2.168 改为 192.168.2.178

更改每个redis集群节点的节点配置文件,把IP对应改成新的IP:

sed -i "s/192.168.2.162/192.168.2.172/g"  /data/redis7/cluster/6379/data/nodes-6379.conf /data/redis7/cluster/6380/data/nodes-6380.conf
sed -i "s/192.168.2.164/192.168.2.174/g"  /data/redis7/cluster/6379/data/nodes-6379.conf /data/redis7/cluster/6380/data/nodes-6380.conf
sed -i "s/192.168.2.168/192.168.2.178/g"  /data/redis7/cluster/6379/data/nodes-6379.conf /data/redis7/cluster/6380/data/nodes-6380.conf

查看更改后的节点配置文件 已经改成了新的IP

cat /data/redis7/cluster/6379/data/nodes-6379.conf
cat /data/redis7/cluster/6380/data/nodes-6380.conf

在这里插入图片描述

最后重启所有redis节点

/etc/init.d/redisd6379 stop
/etc/init.d/redisd6380 stop/etc/init.d/redisd6379 start
/etc/init.d/redisd6380 start

再次查看redis集群状态
在redis集群中任一台机器上登录redis

redis-cli -c -p 6379

登入redis后 执行

auth 123456
cluster info
cluster nodes

其中cluster info 显示 cluster_state:ok 即表示集群状态正常。

在这里插入图片描述

用redisinsight连接redis集群master节点 查看redis存储的数据 和更改redis集群服务器IP之前的数据是一样的,没有损失数据。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/490867.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解负载均衡

什么是负载均衡? 想象一下,你有一家餐厅,当有很多客人同时到来时,如果只有一名服务员接待,可能会导致服务变慢。为了解决这个问题,你可以增加更多的服务员来分担工作,这样每位服务员就可以更快…

SpringCloud微服务实战系列:03spring-cloud-gateway业务网关灰度发布

目录 spring-cloud-gateway 和zuul spring webflux 和 spring mvc spring-cloud-gateway 的两种模式 spring-cloud-gateway server 模式下配置说明 grayLb://system-server 灰度发布代码实现 spring-cloud-gateway 和zuul zuul 是spring全家桶的第一代网关组件&#x…

win10配置免密ssh登录远程的ubuntu

为了在终端ssh远程和使用VScode远程我的VM上的ubuntu不需要设置密码,需要在win10配置免密ssh登录远程的ubuntu。 在win10打开cmd,执行下面的代码生成密钥对(会提示进行设置,按照默认的配置就行,一直回车)&…

Jupyter Notebook 适合做机器学习开发吗?

现在很多机器学习项目都是在Jupyter notebook中开发、训练、调试和演示的,比如openai、deepmind等,kaggle比赛中的原生环境就是Jupyter notebook,几乎任何机器学习的开发都可以在上面进行。 对于问题中的困扰,想要写py文件&#x…

Python(四)—— 使用库

Python 的官方文档传送门:https://docs.python.org/3.10/library/index.html 一,import import和 C/C 的 #include 一样,都是使用库函数的必要步骤,下面给出了几个示例 示例一:日期计算 输入任意两个日期&#xff0c…

无人机飞行服务技术详解

无人机飞行服务技术涵盖了多个方面,以下是对其关键技术的详细解析: 一、无人机类型与特点 无人机根据其设计和功能的不同,主要分为以下几种类型: 1. 多旋翼无人机:最常见的无人机类型,通过多个电机和螺旋…

【落羽的落羽 C语言篇】一些常见的字符函数、字符串函数、内存函数

文章目录 一、字符函数1. 字符分类函数2. 字符转换函数 二、字符串函数1. strlen的使用和模拟实现使用模拟实现 2. strcpy的使用和模拟实现使用模拟实现 3. strcat的使用和模拟实现使用模拟实现 4. strcmp的使用和模拟实现使用模拟实现 5. strncpy的使用6. strncat的使用7. str…

小程序-基于java+SSM+Vue的微信阅读小程序设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

Airborne使用教程

1.安装环境 前提条件:系统已安装Ruby 打开终端输入如下命令 gem install airborne 或者在Gemfile添加 gem airborne 然后运行bundle install 2.编写脚本 在项目中新建api_tests_spec.rb文件 以GET接口"https://www.thunderclient.com/welcome"为…

社区生活超市系统|Java|SSM|JSP|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

零基础开始学习鸿蒙开发-基础页面的设计

目录 1.样例图 2.逐项分析 2.1 头顶布局分析:首先我们要把第一行的图标绘制出来,一个左一个右,很明显,需要放在一个Row容器中,具体代码如下: 2.2 和头像同一行的布局,需要注意的是&#xff0c…

211-基于FMC的1路1.5G ADC 1路 2.5G DAC子卡

一、板卡概述 FMC-1AD-1DA-1SYNC是我司自主研发的一款1路1G AD采集、1路2.5G DA回放的FMC、1路AD同步信号子卡。板卡采用标准FMC子卡架构,可方便地与其他FMC板卡实现高速互联,可广泛用于高频模拟信号采集等领域。 二、功能介绍 2.1 原理框图 2.2 硬件…

HTML综合案例

这是一个HTML CSS的综合练习案例&#xff0c;效果如图所示&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-w…

NPU是什么?电脑NPU和CPU、GPU区别介绍

随着人工智能技术的飞速发展&#xff0c;计算机硬件架构也在不断演进以适应日益复杂的AI应用场景。其中&#xff0c;NPU&#xff08;Neural Processing Unit&#xff0c;神经网络处理器&#xff09;作为一种专为深度学习和神经网络运算设计的新型处理器&#xff0c;正逐渐崭露头…

【多线程】synchronized使用以及原理详解

1. synchronized关键字的使用 synchronized关键字是对Java中的对象加锁&#xff0c;主要有3种使用形式 修饰实例&#xff08;普通&#xff09;方法 &#xff0c;锁的是当前的实例对象&#xff1b;修饰静态方法&#xff0c;锁的是当前类的Class对象&#xff0c;即使是不同的示…

项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(二)

文章目录 一、登录功能实现1、前端实现1.1 创建登录组件1.2 安装和配置Element Plus1.3 安装axios和调用后端接口2、后端实现2.1 创建数据表和准备数据2.2 配置MYSQL配置信息2.3 登录功能实现2.3.1 创建实体类2.3.2 创建登录服务接口及实现2.3.3 创建Mapper2.3.4 实现登录接口A…

ESP32-S3-devKitC-1 点亮板上的WS2812 RGB LED

ESP32-S3-devKitC-1 板上自带了一个RGB LED&#xff0c;型号为 WS2812。 RGB LED 在板上的位置如下图所示。 为了点亮这个WS2812&#xff0c;需要确定这颗RGB LED连接到哪个GPIO上了。 下面是确定GPIO管脚的过程&#xff1a; 1、根据原理图 2、根据PCB布局图&#xff1a; 程…

汽车电子元件的可靠性保障:AEC-Q102认证

AEC-Q102标准的起源与价值 随着汽车电子系统的日益复杂&#xff0c;电子器件必须能够在极端的温度、湿度、振动和电磁干扰等恶劣条件下保持性能。AEC-Q102标准由汽车电子委员会&#xff08;AEC&#xff09;制定&#xff0c;专门针对LED、激光二极管和光电二极管等光电器件&…

SQL中的联结表

本文介绍什么是联结&#xff0c;为什么使用联结&#xff0c;以及如何编写使用联结的SELECT语句。 1. 联结 SQL最强大的功能之一就是能在数据查询的执行中联结&#xff08;join&#xff09;表。联结是SQL的SELECT能执行的最重要的操作&#xff0c;理解联结及其语法是学习SQL的…

每天40分玩转Django:实操 Todo List应用

实操 Todo List应用 一、今日学习内容概述 学习模块重要程度预计学时主要内容项目初始化⭐⭐⭐⭐0.5小时创建项目、配置环境模型设计⭐⭐⭐⭐⭐1小时Todo模型设计与实现CRUD视图⭐⭐⭐⭐⭐2小时实现增删改查功能模板开发⭐⭐⭐⭐1.5小时页面布局与交互设计功能测试⭐⭐⭐1小时…