详解centos下搭建redis集群

发布时间 - 2026-01-11 01:04:33    点击率:

必备的工具:

redis-3.0.0.tar

redis-3.0.0.gem (ruby和redis接口)

分析:

首先,集群数需要基数,这里搭建一个简单的redis集群(6个redis实例进行集群)。

在一台服务器上操作,因此仅需要6个不同的端口号即可。分别是:7001、7002、7003、7004、7005、7006。

步骤:

1、上传redis-3.0.0.tar到服务器(自己指定自己的软件目录),解压redis-3.0.0.tar。

2、安装c语言环境(安装centos之后,自带c语言环境)

yum install gcc-c++

3、进入到redis-3.0.0目录

make

4、安装redis到/usr/local/redis目录

make install PREFIX=/usr/local/redis

5、查看是否安装成功(出现bin目录即可)

6、前端启动redis(进入上图的bin目录)

./redis-server(开启)

./redis-cli shutdown(关闭)

7、后端启动

需要将redis解压之后的源码包中(redis-3.0.0目录下)的redis.conf文件拷贝到bin目录下

修改redis.conf文件,将daemonize改为yes先要使用vim redis.conf

使用命令后端启动redis

bin目录下执行 ./redis-server redis.conf

查看是否启动成功

关闭后端启动的方式:

./redis-cli shutdown

以上是单独的redis安装,接下来搭建集群!

安装ruby

yum install ruby
yum install rubygems

将以下文件上传到linux系统

redis-3.0.0.gem (ruby和redis接口)

进入该目录执行:gem install redis-3.0.0.gem

将redis-3.0.0包下src目录中的以下文件拷贝到/usr/local/redis/redis-cluster/

前提:先新建一个redis-cluster目录

搭建集群最少也得需要3台主机,如果每台主机再配置一台从机的话,则最少需要6台机器。

端口设计如下:7001-7006

第一步:复制出一个7001机器

进入/usr/local/redis/目录执行 cp bin ./redis-cluster/7001 –r

第二步:如果存在持久化文件,则删除

rm -rf appendonly.aof dump.rdb

第三步:设置集群参数

第四步:修改端口

第五步:复制出7002-7006机器

给出我桌面系统下的目录结构:

接下来设置一键启动全部redis或者关闭redis群:

首先,新建一个文件,可以用vim打开一个不存在的文件,然后保存就存在了。(上图的start-all.sh和shutdow-all.sh就是我新建的)

start-all.sh:

cd 7001
./redis-server redis.conf
cd ..
cd 7002
./redis-server redis.conf
cd ..
cd 7003
./redis-server redis.conf
cd ..
cd 7004
./redis-server redis.conf
cd ..
cd 7005
./redis-server redis.conf
cd ..
cd 7006
./redis-server redis.conf
cd ..

shutdow-all.sh:

cd 7001
./redis-cli -p 7001 shutdown
cd ..
cd 7002
./redis-cli -p 7002 shutdown
cd ..
cd 7003
./redis-cli -p 7003 shutdown
cd ..
cd 7004
./redis-cli -p 7004 shutdown
cd ..
cd 7005
./redis-cli -p 7005 shutdown
cd ..
cd 7006
./redis-cli -p 7006 shutdown
cd ..

接下来修改那两个文件权限,设置其为可启动的脚本文件

chmod u+x start-all.sh

chmod u+x shutdown-all.sh

接下来用ruby连接这几个集群,进行管理

/redis-trib.rb create --replicas 1 192.168.78.133:7001 192.168.78.133:7002 192.168.78.133:7003 192.168.78.133:7004 192.168.78.133:7005 192.168.78.133:7006

出现:

Connecting to node 192.168.242.137:7001: OK
Connecting to node 192.168.242.137:7002: OK
Connecting to node 192.168.242.137:7003: OK
Connecting to node 192.168.242.137:7004: OK
Connecting to node 192.168.242.137:7005: OK
Connecting to node 192.168.242.137:7006: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.242.137:7001
192.168.242.137:7002
192.168.242.137:7003
Adding replica 192.168.242.137:7004 to 192.168.242.137:7001
Adding replica 192.168.242.137:7005 to 192.168.242.137:7002
Adding replica 192.168.242.137:7006 to 192.168.242.137:7003
M: 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 192.168.242.137:7001
  slots:0-5460 (5461 slots) master
M: 4f52a974f64343fd9f1ee0388490b3c0647a4db7 192.168.242.137:7002
  slots:5461-10922 (5462 slots) master
M: cb7c5def8f61df2016b38972396a8d1f349208c2 192.168.242.137:7003
  slots:10923-16383 (5461 slots) master
S: 66adf006fed43b3b5e499ce2ff1949a756504a16 192.168.242.137:7004
  replicates 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24
S: cbb0c9bc4b27dd85511a7ef2d01bec90e692793b 192.168.242.137:7005
  replicates 4f52a974f64343fd9f1ee0388490b3c0647a4db7
S: a908736eadd1cd06e86fdff8b2749a6f46b38c00 192.168.242.137:7006
  replicates cb7c5def8f61df2016b38972396a8d1f349208c2
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..
>>> Performing Cluster Check (using node 192.168.242.137:7001)
M: 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 192.168.242.137:7001
  slots:0-5460 (5461 slots) master
M: 4f52a974f64343fd9f1ee0388490b3c0647a4db7 192.168.242.137:7002
  slots:5461-10922 (5462 slots) master
M: cb7c5def8f61df2016b38972396a8d1f349208c2 192.168.242.137:7003
  slots:10923-16383 (5461 slots) master
M: 66adf006fed43b3b5e499ce2ff1949a756504a16 192.168.242.137:7004
  slots: (0 slots) master
  replicates 8240cd0fe6d6f842faa42b0174fe7c5ddcf7ae24
M: cbb0c9bc4b27dd85511a7ef2d01bec90e692793b 192.168.242.137:7005
  slots: (0 slots) master
  replicates 4f52a974f64343fd9f1ee0388490b3c0647a4db7
M: a908736eadd1cd06e86fdff8b2749a6f46b38c00 192.168.242.137:7006
  slots: (0 slots) master
  replicates cb7c5def8f61df2016b38972396a8d1f349208c2
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

则代表成功了!

测试一下,进入7001目录执行:./redis-cli -h 192.168.242.137 -p 7001 –c

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# centos  # redis集群搭建  # redis  # 集群  # centos7搭建redis集群  # Redis集群搭建全记录  # redis集群搭建教程及遇到的问题处理  # 详解docker搭建redis集群的环境搭建  # 玩转Redis搭建集群之Sentinel详解  # Redis 集群搭建和简单使用教程  # docker redis5.0 cluster集群搭建的实现  # 基于docker搭建redis集群的方法  # Redis6.0搭建集群Redis-cluster的方法  # 5分钟搭建redis集群(redis5.0.5)  # 一台  # 后端  # 目录下  # 新建一个  # 上图  # 自己的  # 可以用  # 拷贝到  # 不存在  # 就是我  # 也得  # 将以  # 自带  # 这几个  # 第二步  # 要使  # 一键  # 第三步  # 大家多多  # 每台 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何确保西部建站助手FTP传输的安全性?  Laravel如何实现本地化和多语言支持?(i18n教程)  如何打造高效商业网站?建站目的决定转化率  如何快速生成橙子建站落地页链接?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  java ZXing生成二维码及条码实例分享  如何在云指建站中生成FTP站点?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  *服务器网站为何频现安全漏洞?  如何在万网自助建站中设置域名及备案?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  详解阿里云nginx服务器多站点的配置  使用Dockerfile构建java web环境  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel怎么实现验证码(Captcha)功能  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何批量查询域名的建站时间记录?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  三星、SK海力士获美批准:可向中国出口芯片制造设备  android nfc常用标签读取总结  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  phpredis提高消息队列的实时性方法(推荐)  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  如何用PHP工具快速搭建高效网站?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Swift中swift中的switch 语句  如何登录建站主机?访问步骤全解析  网站制作价目表怎么做,珍爱网婚介费用多少?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  如何快速建站并高效导出源代码?  QQ浏览器网页版登录入口 个人中心在线进入  Laravel怎么为数据库表字段添加索引以优化查询  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  免费网站制作appp,免费制作app哪个平台好?  太平洋网站制作公司,网络用语太平洋是什么意思?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】