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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1