redis-cluster 集群搭建和迁移(一)

2024-08-22 20:32

本文主要是介绍redis-cluster 集群搭建和迁移(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近给公司搭建了一个redis-cluster集群,把原来的单实例的数据迁移到了集群上,踩了一些坑,记录一些

使用的redis 版本是5.0.5 

操作系统  centos7

安装redis-cluster集群需要ruby环境, centos7  yum 源中的ruby  版本太低,不能安装redis,所以必须离线安装。我选择的版本是2.5.3

一.安装ruby

wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz
tar zxvf ruby-2.5.3.tar.gz
cd ruby-2.5.3
./configure --prefix=/usr/local/ruby
make
make install
/usr/local/ruby/bin/ruby -v
echo "export PATH=$PATH:/usr/local/ruby/bin" >> /etc/profile
source /etc/profile
echo $PATH

安装好ruby 之后并不能使用 gem install redis 来安装插件,还需要安装 zlib 环境和 openssl 环境

二.安装zlib环境

cd ruby-2.5.3/ext/zlib
ls
ruby ./extmk.rb 
make
yum -y install zlib-devel
gem install redis
cd zlib/
ls
ruby ./extconf.rb 
vim Makefile

打开Makefile文件,这段修改
#zlib.o: $(top_srcdir)/include/ruby.h
zlib.o: ../../include/ruby.h

make
make install

三.安装openssl 环境

cd ruby-2.5.3/ext/openssl
yum install openssl-devel -y
ruby ./extconf.rb
make
vim Makefile 

打开Makefile文件,头文件加上
top_srcdir = ../..

make
make install

四.gem 安装redis 插件

gem install redis

五.编译安装redis

mkdir /usr/local/redis
cd /usr/local/redis/上传redis tartar -xvf redis-5.0.5.tar.gz 
cd redis-5.0.5/
make
make install
cd ..
cd redis-5.0.5/
cd src/
./redis-server 

六.配置cluster集群,我这边创建了6个节点

cd /usr/local/redis/redis-5.0.5/src/
./redis-cli 
mkdir redis_cluster
cd redis_cluster/
mkdir 9000 9001 9002 9003 9004 9005cp redis.conf ./redis_cluster/9000
cp redis.conf ./redis_cluster/9001
cp redis.conf ./redis_cluster/9002
cp redis.conf ./redis_cluster/9003
cp redis.conf ./redis_cluster/9004
cp redis.conf ./redis_cluster/9005

七.修改配置文件,所有的节点的配置文件都改一遍

vim redis.confport 9001 //端口9001
daemonize yes //redis后台运行
pidfile ./redis_9001.pid //pidfile文件对应9001
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_9001.conf //集群的配置 配置文件首次启动自动生成 9001
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
bind 192.168.53.134 //绑定的ip,我写的是写本机内网ip//若设置密码,master和slave需同时配置下面两个参数:
masterauth "12345678"    //连接master的密码
requirepass "12345678"    //自己的密码

八.启动所有节点

//进入各个节点的目录启动实例 启动所有节点
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9000/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9001/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9002/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9003/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9004/redis.conf
/usr/local/redis/redis-5.0.5/src/redis-server /usr/local/redis/redis-5.0.5/redis_cluster/9005/redis.conf

九.创建集群,测试

./redis-cli --cluster create 192.168.53.134:9000 192.168.53.134:9001 192.168.53.134:9002 192.168.53.134:9003 192.168.53.134:9004 192.168.53.134:9005./redis-cli -h 192.168.53.134 -p 9000 -c

 

这篇关于redis-cluster 集群搭建和迁移(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097319

相关文章

MySQL MHA集群详解(数据库高可用)

《MySQLMHA集群详解(数据库高可用)》MHA(MasterHighAvailability)是开源MySQL高可用管理工具,用于自动故障检测与转移,支持异步或半同步复制的MySQL主从架构,本... 目录mysql 高可用方案:MHA 详解与实战1. MHA 简介2. MHA 的组件组成(1)MHA

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符

SpringBoot18 redis的配置方法

《SpringBoot18redis的配置方法》本文介绍在SpringBoot项目中集成和使用Redis的方法,包括添加依赖、配置文件、自定义序列化方式、使用方式、实际使用示例、常见操作总结以及注意... 目录一、Spring Boot 中使用 Redis1. 添加依赖2. 配置文件3. Redis 配置类

Redis中群集三种模式的实现

《Redis中群集三种模式的实现》Redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1. Redis三种模式概述2、Redis 主从复制2.1 主从复制的作用2.2 主从复制流程2

MongoDB搭建过程及单机版部署方法

《MongoDB搭建过程及单机版部署方法》MongoDB是一个灵活、高性能的NoSQL数据库,特别适合快速开发和大规模分布式系统,本文给大家介绍MongoDB搭建过程及单机版部署方法,感兴趣的朋友跟随... 目录前言1️⃣ 核心特点1、文档存储2、无模式(Schema-less)3、高性能4、水平扩展(Sh

golang实现nacos获取配置和服务注册-支持集群详解

《golang实现nacos获取配置和服务注册-支持集群详解》文章介绍了如何在Go语言中使用Nacos获取配置和服务注册,支持集群初始化,客户端结构体中的IpAddresses可以配置多个地址,新客户... 目录golang nacos获取配置和服务注册-支持集群初始化客户端可选参数配置new一个客户端 支

Redis的安全机制详细介绍及配置方法

《Redis的安全机制详细介绍及配置方法》本文介绍Redis安全机制的配置方法,包括绑定IP地址、设置密码、保护模式、禁用危险命令、防火墙限制、TLS加密、客户端连接限制、最大内存使用和日志审计等,通... 目录1. 绑定 IP 地址2. 设置密码3. 保护模式4. 禁用危险命令5. 通过防火墙限制访问6.

MySQL集群高可用架构的两种使用小结

《MySQL集群高可用架构的两种使用小结》本文介绍了MySQL的两种高可用解决方案:组复制(MGR)和MasterHighAvailability(MHA),文中通过示例代码介绍的非常详细,对大家的学... 目录一、mysql高可用之组复制(MGR)1.1 组复制核心特性与优势1.2 组复制架构原理1.3

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Docker + Redis 部署集群的实现步骤

《Docker+Redis部署集群的实现步骤》本文详细介绍了在三台服务器上部署高可用Redis集群的完整流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、环境准备1. 服务器规划(3 台服务器)2. 防火墙配置(三台服务器均执行)3. 安装 docke