redis集群Cluster模式如何部署
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章将为大家详细讲解有关redis集群Cluster模式如何部署,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Redis 集群模式搭建redis集群部署分为
千家信息网最后更新 2024年11月19日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安全错误
数据库的锁怎样保障安全
个人服务器地址
软件开发基础必背
有没有软件开发的书籍
网络安全工程师工资核算
徐州的网络安全公司
网络技术适合女生学习吗
杭州游卡网络技术有限公司财报
手机游戏服务器如何互通
网络安全崔志新
公差与配合数据库
关系型数据库一对多查询
服务器安全狗怎么关掉
软件开发需要什么原材料
dns服务器安装配置
江北直销软件开发企业
PPT倒计时软件开发
2欧服务器
南京网络安全的公司
数据库表间关联教程
重庆安卓软件开发平台
密码学与网络安全下载
搜一下网络安全绘画
数据库崩了应该收多少费用
临夏软件开发
网络安全的5个目标
数据库记录的显示命令行
连云港银联软件开发常见问题
数据库next作用
关于安全生产和网络安全
超融合服务器几台