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

相关文章

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增

redis防止短信恶意调用的实现

《redis防止短信恶意调用的实现》本文主要介绍了在场景登录或注册接口中使用短信验证码时遇到的恶意调用问题,并通过使用Redis分布式锁来解决,具有一定的参考价值,感兴趣的可以了解一下... 目录1.场景2.排查3.解决方案3.1 Redis锁实现3.2 方法调用1.场景登录或注册接口中,使用短信验证码场

Redis 多规则限流和防重复提交方案实现小结

《Redis多规则限流和防重复提交方案实现小结》本文主要介绍了Redis多规则限流和防重复提交方案实现小结,包括使用String结构和Zset结构来记录用户IP的访问次数,具有一定的参考价值,感兴趣... 目录一:使用 String 结构记录固定时间段内某用户 IP 访问某接口的次数二:使用 Zset 进行

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每