单机集群部署(redis5.0)

news/2025/10/24 9:36:14/文章来源:https://www.cnblogs.com/hxlasky/p/19162218

环境:
OS:Centos 7
redis:5.0.14

角色 机器ip
主 192.168.1.105 7001
从 192.168.1.105 7002
主 192.168.1.105 7003
从 192.168.1.105 7004
主 192.168.1.105 7005
从 192.168.1.105 7006

1.下载安装介质
我这里下载的是redis-5.0.14.tar.gz
下载地址:
http://download.redis.io/releases/

2.解压介质并安装
[root@localhost soft]# tar -xvf redis-5.0.14.tar.gz
[root@localhost soft]# cd redis-5.0.14
[root@node1 redis-5.0.14]# make
[root@node1 redis-5.0.14]# make test
没有问题的话,会输入如下信息

\o/ All tests passed without errors!

Cleanup: may take some time... OK
make[1]: Leaving directory `/soft/redis-5.0.14/src'
[root@node1 redis-5.0.14]#

安装到指定的目录,默认是安装在/usr/bin目录,我们这里统一安装到/usr/local/services/redis目录,该目录不用提前创建
[root@node1 redis-5.0.14]# cd src
[root@node1 src]# make PREFIX=/usr/local/services/redis install

Hint: It's a good idea to run 'make test' ;)

INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install

拷贝 ./scr/redis-trib.rb到指定的目录,该脚本是用来创建集群用的
[root@node1 src]# cp redis-trib.rb /usr/local/services/redis/

 

3.创建目录并修改相应权限
[root@localhost src]# mkdir -p /home/middle/redis/conf
[root@localhost src]# mkdir -p /home/middle/redis/data
[root@localhost src]# mkdir -p /home/middle/redis/logs
[root@localhost src]# mkdir -p /home/middle/redis/run

创建数据目录
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7001
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7002
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7003
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7004
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7005
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7006

 

4.创建配置文件

vi /home/middle/redis/conf/7001.conf

内如如下:

daemonize yes
bind 192.168.1.105
protected-mode yes
port 7001
tcp-backlog 511
timeout 300
tcp-keepalive 300
supervised no
pidfile "/home/middle/redis/run/redis_7001.pid"
loglevel notice
logfile "/home/middle/redis/logs/redis_7001.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/home/middle/redis/data/redis_7001"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file "7001.conf"
cluster-node-timeout 5000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
##masterauth "hxl2018"
##requirepass "hxl2018"
maxmemory-policy allkeys-lfu
maxmemory 2gb
maxmemory-samples 5

 

密码先注释掉,等创建了集群后再启用

拷贝 7001.conf 生成 7002.conf 配置文件
cd /home/middle/redis/conf
cp 7001.conf 7002.conf
cp 7001.conf 7003.conf
cp 7001.conf 7004.conf
cp 7001.conf 7005.conf
cp 7001.conf 7006.conf

 

替换修改配置文件的内容
sed -i 's/7001/7002/g' /home/middle/redis/conf/7002.conf
sed -i 's/7001/7003/g' /home/middle/redis/conf/7003.conf
sed -i 's/7001/7004/g' /home/middle/redis/conf/7004.conf
sed -i 's/7001/7005/g' /home/middle/redis/conf/7005.conf
sed -i 's/7001/7006/g' /home/middle/redis/conf/7006.conf

-----------------启动---------------------------------
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7001.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7002.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7003.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7004.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7005.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7006.conf

 

查看进程情况

[root@node1 conf]# ps -ef|grep redis
root      160636       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.105:7001 [cluster]
root      160688       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.105:7002 [cluster]
root      160694       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.105:7003 [cluster]
root      160754       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.105:7004 [cluster]
root      160760       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.105:7005 [cluster]
root      160819       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.105:7006 [cluster]

 

----------------------------配置集群-------------------------------------
1.创建集群
[root@node1 conf]# /usr/local/services/redis/redis-trib.rb create --replicas 1 192.168.1.105:7001 192.168.1.105:7002 192.168.1.105:7003 192.168.1.105:7004 192.168.1.105:7005 192.168.1.105:7006
/usr/bin/env: ruby: No such file or directory

解决办法:
需要安装ruby
https://www.cnblogs.com/hxlasky/p/14734140.html

 

再次报错:

[root@node1 ~]# /usr/local/services/redis/redis-trib.rb create --replicas 1 192.168.1.105:7001 192.168.1.105:7002 192.168.1.105:7003 192.168.1.105:7004 192.168.1.105:7005 192.168.1.105:7006
WARNING: redis-trib.rb is not longer available!
You should use redis-cli instead.All commands and features belonging to redis-trib.rb have been moved
to redis-cli.
In order to use them you should call redis-cli with the --cluster
option followed by the subcommand name, arguments and options.Use the following syntax:
redis-cli --cluster SUBCOMMAND [ARGUMENTS] [OPTIONS]Example:
redis-cli --cluster create 192.168.1.105:7001 192.168.1.105:7002 192.168.1.105:7003 192.168.1.105:7004 192.168.1.105:7005 192.168.1.105:7006 --cluster-replicas 1To get help about all subcommands, type:
redis-cli --cluster help

 

发现5.0版本不需要使用redis-trib.rb创建集群了,改用redis-cli --cluster create创建集群了

/usr/local/services/redis/bin/redis-cli --cluster create 192.168.1.105:7001 192.168.1.105:7002 192.168.1.105:7003 192.168.1.105:7004 192.168.1.105:7005 192.168.1.105:7006 --cluster-replicas 1
[root@node1 ~]# /usr/local/services/redis/bin/redis-cli --cluster create 192.168.1.105:7001 192.168.1.105:7002 192.168.1.105:7003 192.168.1.105:7004 192.168.1.105:7005 192.168.1.105:7006 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.1.105:7005 to 192.168.1.105:7001
Adding replica 192.168.1.105:7006 to 192.168.1.105:7002
Adding replica 192.168.1.105:7004 to 192.168.1.105:7003
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: 9257ed5948d9a0a82da9729960ab8e34cf6cc219 192.168.1.105:7001slots:[0-5460] (5461 slots) master
M: 533b2cb5d031272d0fe45c3325d74496617280fd 192.168.1.105:7002slots:[5461-10922] (5462 slots) master
M: eb85686991a5c128a31c19cb67976eb04e5d329b 192.168.1.105:7003slots:[10923-16383] (5461 slots) master
S: e9006b1d33640e81b7e50c1cc58f8532c2aeb9c9 192.168.1.105:7004replicates 533b2cb5d031272d0fe45c3325d74496617280fd
S: d3911b1bf7967c4968bdef6e39bfe17467706070 192.168.1.105:7005replicates eb85686991a5c128a31c19cb67976eb04e5d329b
S: 6da827c6f3f78f0b85d8db7102164e9f71ec4d58 192.168.1.105:7006replicates 9257ed5948d9a0a82da9729960ab8e34cf6cc219
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.1.105:7001)
M: 9257ed5948d9a0a82da9729960ab8e34cf6cc219 192.168.1.105:7001slots:[0-5460] (5461 slots) master1 additional replica(s)
S: d3911b1bf7967c4968bdef6e39bfe17467706070 192.168.1.105:7005slots: (0 slots) slavereplicates eb85686991a5c128a31c19cb67976eb04e5d329b
M: eb85686991a5c128a31c19cb67976eb04e5d329b 192.168.1.105:7003slots:[10923-16383] (5461 slots) master1 additional replica(s)
S: 6da827c6f3f78f0b85d8db7102164e9f71ec4d58 192.168.1.105:7006slots: (0 slots) slavereplicates 9257ed5948d9a0a82da9729960ab8e34cf6cc219
M: 533b2cb5d031272d0fe45c3325d74496617280fd 192.168.1.105:7002slots:[5461-10922] (5462 slots) master1 additional replica(s)
S: e9006b1d33640e81b7e50c1cc58f8532c2aeb9c9 192.168.1.105:7004slots: (0 slots) slavereplicates 533b2cb5d031272d0fe45c3325d74496617280fd
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

 

2.启用密码
停掉每个节点,修改配置文件,启用密码认证
/usr/local/services/redis/bin/redis-cli -h 192.168.1.105 -p 7001 shutdown
/usr/local/services/redis/bin/redis-cli -h 192.168.1.105 -p 7002 shutdown
/usr/local/services/redis/bin/redis-cli -h 192.168.1.105 -p 7003 shutdown
/usr/local/services/redis/bin/redis-cli -h 192.168.1.105 -p 7004 shutdown
/usr/local/services/redis/bin/redis-cli -h 192.168.1.105 -p 7005 shutdown
/usr/local/services/redis/bin/redis-cli -h 192.168.1.105 -p 7006 shutdown

修改配置文件
vi /home/middle/redis/conf/7001.conf
vi /home/middle/redis/conf/7002.conf
vi /home/middle/redis/conf/7003.conf
vi /home/middle/redis/conf/7004.conf
vi /home/middle/redis/conf/7005.conf
vi /home/middle/redis/conf/7006.conf
修改每个节点的配置文件,把每个节点的配置文件如下两项先注释掉
##masterauth "自己设定的密码"
##requirepass "自己设定的密码"

再次启动
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7001.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7002.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7003.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7004.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7005.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7006.conf

 

查看集群

/usr/local/services/redis/bin/redis-cli -c -h 192.168.1.105 -p 7001 -a hxl2018192.168.1.105:7001> cluster nodes
e9006b1d33640e81b7e50c1cc58f8532c2aeb9c9 192.168.1.105:7004@17004 slave 533b2cb5d031272d0fe45c3325d74496617280fd 0 1761209902035 4 connected
eb85686991a5c128a31c19cb67976eb04e5d329b 192.168.1.105:7003@17003 master - 0 1761209901530 3 connected 10923-16383
d3911b1bf7967c4968bdef6e39bfe17467706070 192.168.1.105:7005@17005 slave eb85686991a5c128a31c19cb67976eb04e5d329b 0 1761209901530 3 connected
6da827c6f3f78f0b85d8db7102164e9f71ec4d58 192.168.1.105:7006@17006 slave 9257ed5948d9a0a82da9729960ab8e34cf6cc219 0 1761209901000 6 connected
9257ed5948d9a0a82da9729960ab8e34cf6cc219 192.168.1.105:7001@17001 myself,master - 0 1761209901000 1 connected 0-5460
533b2cb5d031272d0fe45c3325d74496617280fd 192.168.1.105:7002@17002 master - 0 1761209900591 2 connected 5461-10922
192.168.1.105:7001> 192.168.1.105:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:997
cluster_stats_messages_pong_sent:225
cluster_stats_messages_fail_sent:4
cluster_stats_messages_sent:1226
cluster_stats_messages_ping_received:225
cluster_stats_messages_pong_received:225
cluster_stats_messages_fail_received:6
cluster_stats_messages_received:456

 

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

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

相关文章

国产化替代首选!2025自主可控的国产制品管理平台推荐

信创与软件供应链安全背景下,金融、政务等关键行业亟需自主可控的国产化制品库,以规避风险、满足合规并适配本土软硬件。优质制品管理平台需具备自主知识产权、制品迁移、全链路追踪等企业级功能,结合本地化服务,是…

2025年10月种植牙医院排名:五强真实数据公开

缺牙带来的咀嚼受限、面部塌陷与社交尴尬,让“尽快种牙”成为不少人的刚需。然而,公立医院排队久、民营机构广告多,患者既担心技术安全,又害怕价格陷阱。2025年,国家卫健委继续把口腔种植纳入医疗质量监测重点,多…

2025年10月宠物空气净化器产品推荐:性能榜排行全盘点

家里猫狗同堂,浮毛、皮屑、异味三管齐下,空气净化器从“可选”变成“刚需”。用户调研显示,七成宠物主最担心三大痛点:一是换毛季空气中可见毛团,二是过敏原诱发鼻炎喷嚏,三是便臭、体味挥之不去。传统家用空净侧…

Langflow:面向 AI Agent、API 与 LLM 的拖拽式流程构建工具

我最近一直在探索一个叫Langflow的工具。 如果你曾经试着把LLMs、APIs和各种工具连起来,你就会知道那种挫败感——太乱了。一大堆样板代码,好多问题像“为什么这个不工作”,通常花太多时间在设置上。 Langflow试图让…

2025 年水质监测仪厂家最新推荐口碑排行榜单:覆盖多参数 / 总磷 / 氨氮等品类,双维度精选国产优质品牌助力精准选品

引言 当前水资源保护工作愈发关键,水质监测作为核心环节,对设备的精准度、稳定性要求不断提升。然而市场上水质监测仪品牌繁杂,既有深耕多年的老牌企业,也有新兴入局的品牌,产品质量与性能差异显著,用户在选择时…

mac 安装 comfyui 简易过程

1、下载comfyui 终端输入命令: git clone https://github.com/comfyanonymous/ComfyUI.git 用户名文件夹里会出现一个ComfyUI文件夹 2、安装依赖包 进入该文件夹后执行命令:pip3 install -r requirements.txt(或者…

Ruby类污染深度解析:利用递归合并实现攻击

本文深入探讨Ruby中的类污染漏洞,分析如何通过递归合并操作实现权限提升和远程代码执行,涵盖ActiveSupport和Hashie库的实际案例,展示从对象级别到类级别的攻击链。Ruby类污染:利用递归合并的深度探索 介绍 在本文…

达梦数据库常见日志错误与解决方法

本文详细列举了数据库常见的八大问题,包括消息包检验失败、监听端口失败、读取配置文件失败、日志写入权限问题、归档同步故障、会话超限、唯一索引创建失败和备机通讯失败。针对每个问题,提供了详细的错误原因分析及…

2025 年国内涂装线设备厂家最新推荐榜单:电泳 / 喷粉 / 喷漆 / 浸漆 / 喷塑 / 全自动设备优质品牌全面盘点

引言 当前涂装线行业虽需求旺盛,但乱象频发:多数厂家缺乏核心技术,设备环保性、稳定性不达标,难以通过环评;同质化竞争严重,无法提供个性化解决方案;售后服务滞后,设备故障影响生产进度。为帮助企业避开选择误…

2025 年电磁水表厂家最新推荐排行榜:聚焦实力企业核心优势,精选优质品牌助力精准选型

引言 当前电磁水表市场品牌繁杂,产品质量与服务水平差异显著,工业生产、市政供水等领域用户在选型时常面临 “选品难、辨优劣” 的困境。部分产品存在测量精度不足、复杂工况适应性差、售后响应滞后等问题,易造成资…

权威调研榜单:环形导轨实力厂家TOP3榜单好评深度解析

在工业自动化领域,环形导轨作为关键传动部件,广泛应用于生产线、装配系统和物流设备中,其性能直接影响到设备的精度、效率和稳定性。随着市场对高精度、高负载和长寿命导轨的需求日益增长,实力厂家的竞争愈发激烈。…

2025 最新海外仓公司口碑排行榜发布:欧美东南亚热门市场服务商最新推荐及选择指南 海外仓换标公司 / 维修 / 检测公司推荐

引言 2025 年跨境电商 B2C 出口物流市场规模预计达 3486 亿元,海外仓作为出海核心基础设施,其服务品质直接决定卖家运营效率与利润空间。但行业中 “黑仓” 隐患、清关延误、售后低效等问题频发,旺季爆仓、合规风险…

高性能AI股票预测分析报告 - 2025年10月24日

高性能AI股票预测分析报告 - 2025年10月24日body { font-family: "Microsoft YaHei", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-wi…

关于九州通WMS函数 SQL的相关保存表名

所有开发平台的代码都保存在数据库表中:页面基础数据 SYS_DATAPROC 页面工具栏 SYS_TOOLSET 数据集 SYS_DATASETLIST 方法列表 SYS_FUNCLIST 控件执行脚本 SYS_EVENTMANAGER 页面参数 SYS_FORMLOAD…

Spring 重试接口和回滚接口

目录 public class SupplyChainSagaService { @Autowired private SupplyChainClient supplyChainClient;@Autowired private SagaFailedTaskService failedTaskService;// 异步+重试执行SAGA @Async @Retryable(value…

P2231 [HNOI2002] 跳蚤 分析

题目概述 求有多少种方案,满足当 \(a_i\in [1,m]\),\(x_i\) 为任意整数时有: \[m\times x_{n+1}+\sum_{i=1}^n x_ia_i=-1 \]分析 根据裴蜀定理我们转化为只需满足: \[\gcd(\gcd\{a_i\},m)=1 \]的 \(a\) 的数量就是…

权威调研榜单:圆弧导轨实力厂家TOP3榜单好评深度解析

在工业自动化领域,圆弧导轨作为关键传动部件,广泛应用于环形生产线、自动化设备等场景,其精度和可靠性直接影响生产效率。随着市场对高精度、高效率设备需求的提升,圆弧导轨厂家的技术实力和产品质量成为用户关注的…

基于PCIe3.0X16的的100G光纤采集存储设备

1. 设备概述 基于VU3PFPGA板卡100Gbps光纤收发采集存储设备,是高性能、光纤数据采集与存储一体化解决方案。 本设备是一款专为超高速、大容量数据采集与存储需求设计的高端硬件平台,以 1路100Gbps全双工光纤通信为核…

Java泛型符号T、E、K、V、? 傻傻分不清楚

前言 今天想和大家聊聊Java泛型中那些让人眼花缭乱的符号——T、E、K、V、?。 有些小伙伴在工作中,可能经常遇到这样的场景:阅读框架源码时被各种泛型符号绕晕,写业务代码时不确定该用哪个符号,或者面试时被问到泛…

实用指南:小米投下语音AI“核弹”:MiMo-Audio开源,语音领域的“GPT-3时刻”来了

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …