redis集群Cluster模式如何部署
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关redis集群Cluster模式如何部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Redis 集群模式搭建redis集群部署分为
千家信息网最后更新 2026年11月02日redis集群Cluster模式如何部署
这篇文章将为大家详细讲解有关redis集群Cluster模式如何部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、Redis 集群模式搭建
redis集群部署分为三种:主从、哨兵(Sentinel)、集群(Cluster)。
前几天由于新应用上线,需要部署一套redis集群,现形成文档,将部署过程进行记录。
环境介绍
| ip | 软件包 | 系统版本 |
| 10.1.112.248 | redis-4.0.11.tar.gz | CentOS Linux release 7.6.1810 (Core) |
| 10.1.112.249 | redis-4.0.11.tar.gz | CentOS Linux release 7.6.1810 (Core) |
1、目录结构
[root@localhost local]# pwd/usr/local[root@localhost local]# tree redis-cluster/redis-cluster/├── redis-4.0.11-node1│ ├── data│ └── logs├── redis-4.0.11-node2│ ├── data│ └── logs└── redis-4.0.11-node3 ├── data └── logs9 directories, 0 files
2、下载解压redis-4.0.11
mkdir /usr/local/softwarecd /usr/local/software && wget http://download.redis.io/releases/redis-4.0.11.tar.gztar xf redis-4.0.11.tar.gz
3、安装(两台服务器均安装)
[root@localhost software]# pwd/usr/local/software[root@localhost software]# tar xf redis-4.0.11.tar.gz[root@localhost software]# cd redis-4.0.1[root@localhost redis-4.0.11]# make install出现如下截图即可
4、准备配置文件
[root@localhost redis-4.0.11]# cp src/redis-trib.rb /usr/local/bin/[root@localhost redis-4.0.11]# cp redis.conf /usr/local/redis-cluster/redis-4.0.11-node1/[root@localhost redis-4.0.11]# cp redis.conf /usr/local/redis-cluster/redis-4.0.11-node2/[root@localhost redis-4.0.11]# cp redis.conf /usr/local/redis-cluster/redis-4.0.11-node3/[root@localhost redis-4.0.11]# cp src/{redis-cli,redis-server} /usr/local/redis-cluster/redis-4.0.11-node1/[root@localhost redis-4.0.11]# cp src/{redis-cli,redis-server} /usr/local/redis-cluster/redis-4.0.11-node2/[root@localhost redis-4.0.11]# cp src/{redis-cli,redis-server} /usr/local/redis-cluster/redis-4.0.11-node3/[root@localhost redis-4.0.11-node1]# grep -Ev "^#|^$" redis.conf bind 10.1.112.248 #领一台服务器配置为10.1.112.249protected-mode yesport 7000 #其他节点分别配置为7001/7002tcp-backlog 511timeout 0tcp-keepalive 300daemonize yessupervised nopidfile /usr/local/redis-cluster/redis-4.0.11-node1/redis_7000.pid #其他节点配置为redis-4.0.11-node2/redis_7001.pid、redis-4.0.11-node3/redis_7002.pidloglevel noticelogfile "/usr/local/redis-cluster/redis-4.0.11-node1/logs/redis_7000.log" #同上databases 16always-show-logo yessave 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdbdir /usr/local/redis-cluster/redis-4.0.11-node1/data #redis-4.0.11-node3/data、redis-4.0.11-node3/dataslave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100requirepass xxxlazyfree-lazy-eviction nolazyfree-lazy-expire nolazyfree-lazy-server-del noslave-lazy-flush noappendonly yesappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yesaof-use-rdb-preamble nolua-time-limit 5000cluster-enabled yescluster-config-file nodes-7000.confcluster-node-timeout 15000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes5、分别启动3个节点(另一台服务器同样启动)
cd /usr/local/redis-cluster/redis-4.0.11-node1./redis.server redis.confcd /usr/local/redis-cluster/redis-4.0.11-node2./redis.server redis.confcd /usr/local/redis-cluster/redis-4.0.11-node3./redis.server redis.conf查看进程[root@localhost redis-4.0.11-node1]# ps -ef |grep redisroot 6015 5673 0 17:52 pts/1 00:00:00 grep --color=auto redisweblogic 28246 1 0 Oct21 ? 00:01:14 ./redis-server 10.1.112.248:7000 [cluster]weblogic 28284 1 0 Oct21 ? 00:01:14 ./redis-server 10.1.112.248:7001 [cluster]weblogic 28301 1 0 Oct21 ? 00:02:25 ./redis-server 10.1.112.248:7002 [cluster][root@localhost redis-4.0.11-node1]# ps -ef |grep redisroot 6015 5673 0 17:52 pts/1 00:00:00 grep --color=auto redisweblogic 28246 1 0 Oct21 ? 00:01:14 ./redis-server 10.1.112.249:7000 [cluster]weblogic 28284 1 0 Oct21 ? 00:01:14 ./redis-server 10.1.112.249:7001 [cluster]weblogic 28301 1 0 Oct21 ? 00:02:25 ./redis-server 10.1.112.249:7002 [cluster]
6、使用 redis-trib.rb创建集群
[root@localhost redis-4.0.11-node1]# yum -y install ruby ruby-devel rubygems rpm-build[root@localhost redis-4.0.11-node1]# gem install redisFetching: redis-4.1.3.gem (100%)ERROR: Error installing redis: redis requires Ruby version >= 2.3.0.提示ruby版本过低。升级ruby版本[root@localhost redis-4.0.11-node1]# curl -L get.rvm.io | bash -s stable按提示导入秘钥,再次执行"curl -L get.rvm.io | bash -s stable"[root@localhost redis-4.0.11-node1]# source /usr/local/rvm/scripts/rvm查看可用的ruby版本并安装[root@localhost redis-4.0.11-node1]# rvm list known[root@localhost redis-4.0.11-node1]# rvm install 2.3.0 #这一步用时较长,耐心等待安装完成。
7、安装gem redis接口
rvm use 2.3.0ruby --versiongem install redis
8、安装rubygems
yum install -y rubygems
至此,Ruby和运行redis-trib.rb需要的环境安装完成了,接下来使用redis-trib.rb创建集群
9、创建集群
redis-trib.rb create --replicas 1 10.1.112.248:7000 10.1.112.248:7001 10.1.112.248:7002 10.1.112.249:7000 10.1.112.249:7001 10.1.112.249:7002
10、查看集群状态
[weblogic@geb-redis1 ~]$ redis-trib.rb check 10.1.112.248:7000>>> Performing Cluster Check (using node 10.1.112.248:7000)M: 61d94b047e12679886991c7c6d225b471374a018 10.1.112.248:7000 slots:0-5460 (5461 slots) master 1 additional replica(s)S: a582b9d7784d2f1b2e6a20d5352a19062dc29d4a 10.1.112.248:7002 slots: (0 slots) slave replicates 0addc56bce940a659aa2ac4aa6d51677c1f2c523M: 0addc56bce940a659aa2ac4aa6d51677c1f2c523 10.1.112.249:7000 slots:5461-10922 (5462 slots) master 1 additional replica(s)S: 087de17dafa03c361d87f7a4c4a5b2d7ce0555fc 10.1.112.249:7001 slots: (0 slots) slave replicates fd9f572038a7504e088dde150b89beb2bac39e3cM: fd9f572038a7504e088dde150b89beb2bac39e3c 10.1.112.248:7001 slots:10923-16383 (5461 slots) master 1 additional replica(s)S: 407d6ea2eb3725e142d2e5ae4e1eef4eee1a48ca 10.1.112.249:7002 slots: (0 slots) slave replicates 61d94b047e12679886991c7c6d225b471374a018[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.
11、整体目录结构
[root@geb-redis1 redis-cluster]# tree.├── redis-4.0.11-node1│ ├── data│ │ ├── appendonly.aof│ │ └── nodes-7000.conf│ ├── logs│ │ └── redis_7000.log│ ├── redis_7000.pid│ ├── redis-cli│ ├── redis.conf│ └── redis-server├── redis-4.0.11-node2│ ├── data│ │ ├── appendonly.aof│ │ └── nodes-7001.conf│ ├── logs│ │ └── redis_7001.log│ ├── redis_7001.pid│ ├── redis-cli│ ├── redis.conf│ └── redis-server└── redis-4.0.11-node3 ├── data │ ├── appendonly.aof │ └── nodes-7002.conf ├── logs │ └── redis_7002.log ├── redis_7002.pid ├── redis-cli ├── redis.conf └── redis-server9 directories, 21 files[root@geb-redis2 redis-cluster]# tree.├── redis-4.0.11-node1│ ├── data│ │ ├── appendonly.aof│ │ └── nodes-7000.conf│ ├── logs│ │ └── redis_7000.log│ ├── redis_7000.pid│ ├── redis-cli│ ├── redis.conf│ └── redis-server├── redis-4.0.11-node2│ ├── data│ │ ├── appendonly.aof│ │ └── nodes-7001.conf│ ├── logs│ │ └── redis_7001.log│ ├── redis_7001.pid│ ├── redis-cli│ ├── redis.conf│ └── redis-server└── redis-4.0.11-node3 ├── data │ ├── appendonly.aof │ └── nodes-7002.conf ├── logs │ └── redis_7002.log ├── redis_7002.pid ├── redis-cli ├── redis.conf └── redis-server9 directories, 21 files
12、部署过程中需要调整的系统参数
# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf# echo "net.core.somaxconn = 2048" >> /etc/sysctl.conf# cat /etc/rc.localif test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabledfiif test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defragfi
关于"redis集群Cluster模式如何部署"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
集群
版本
配置
模式
服务器
篇文章
节点
服务
更多
环境
目录
系统
结构
过程
提示
不错
实用
耐心
接下来
主从
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
圆梦互联网科技
腾讯阿里互联网科技
青岛互联网科技公司
奇酷互联网科技
狮子座互联网科技有限公司
苏州互联网科技贷款公司
玖二柒互联网科技公司待遇
济南华为互联网科技产业总部基地
全球顶尖互联网科技公司
受益于互联网科技的高速发展
互联网软件和科技
岳阳华臻互联网科技有限公司
开一家科技互联网公司需要多少钱
互联网新科技动漫ppt素材
四川互联网展示科技馆设计
35岁以上互联网科技行业
江苏互联网科技小贷
上海旺乐尼互联网科技有限公司
银川新华互联网科技学校招聘
互联网 科技节活动 微视频大赛
北京路客互联网科技有限公司
北京禾田雨橡互联网科技
广州凡科互联网科技
亿人帮互联网科技
海南购全球互联网科技
浙江互联网科技研学营
中科明德北京互联网科技
互联网科技实习生岗位
互联网科技数字货币
互联网科技品牌