redis集群Cluster模式如何部署
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章将为大家详细讲解有关redis集群Cluster模式如何部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Redis 集群模式搭建redis集群部署分为
千家信息网最后更新 2025年02月03日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 yes
5、分别启动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安全错误
数据库的锁怎样保障安全
vba进行数据库查询
编曲软件开发
上传文件保存到数据库
加密狗与服务器
成都云车酷互联网科技
数据库的时间戳是啥
简述个人网络安全及隐患
烟雨火龙gom服务器端
武装突袭三哪些服务器人多
广州智能软件开发外包
上海网络技术咨询服务
中国大学网络技术与应用慕课
数据库奶茶店
数据库查询+百分比格式
镇江跋矢网络技术有限公司
东营环保局软件开发招标
软件开发书怎么写
对日软件开发 转型
软件开发小公司是私人老板吗
服务器安全存储地
数据库唯一索引性能
数据库用root户登录日志
提取两个列重复的数据库
阿里云pi节点云服务器
计算机网络技术包括的两个技术
网络安全 简称
中信银行软件开发的服务器
网络安全审计系统缺陷
电脑如何登录2b2t服务器
计算机网络技术前途怎么样