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安全错误
数据库的锁怎样保障安全
泗水县网络安全与文化研究中心
大学学生网络安全宣传
在弹性云服务器ECS创建过程中
大学生网络安全意识访谈提纲
搞游戏软件开发是个好行业吗
网络安全论坛的标题
软件开发培训生是什么意思
数据库查病历
ci 操作数据库
网络安全取名字
网络安全安全组织
温州软件开发如何收费
tpay软件开发
温州凤存网络技术有限公司
伴随等智慧网络技术发展
sql建立数据库原理
洛阳嵌入式软件开发招聘网
乌兰浩特市职教软件开发专业
敏捷软件开发的特点
网络安全零报告制度工作
网络安全技术培训论坛
数据库逻辑设计的任务
网站前台 后台 数据库
服务器输入密码多久可以修改
深圳数据库招聘
无锡建讯互联网科技
山西服务器电源怎么卖
怎么设置vpn服务器
数据库tag标签使用方法
学数据库技术干嘛