哈喽大家好,我是咸鱼 。
今天这篇文章介绍如何在一台服务器(以 centos 7.9 为例)上通过 redis-trib.rb 工具搭建 Redis cluster (三主三从) 。redis-trib.rb 是一个基于 Ruby 编写的脚本,其功能涵盖了创建、管理以及维护 Redis 集群的各个方面 。
文章插图
值得注意的是,随着时间的推移,一些较新版本的 Redis 已经将 redis-trib.rb 标记为不推荐使用的工具 。鉴于此,文章所采用的 Redis 版本为较老的 4.0.9 版本 。
对于较新版本的 Redis,咸鱼建议采用 redis-cli 工具来进行集群的操作与管理,以确保与 Redis 的最新特性保持一致 。
我们先把架构画出来,这样后面部署的时候就很方便了 。
文章插图
# 三个 Master192.168.149.131:6379192.168.149.131:6380192.168.149.131:6381# 三个 Slave192.168.149.131:26379192.168.149.131:26380192.168.149.131:26381
需要注意的是,Redis Cluster 中,节点之间通过建立 TCP 连接,使用 gossip 协议来传播集群的信息,节点内部通信端口是服务端口 + 10000 。举个例子,启动 Redis 服务之后会有一个 6379 端口(对外端口)和一个 16379 端口(对内通信端口) 。
开始部署部署前准备首先创建 Redis 存储目录,用来存放 rdb 文件等,接着创建 pid 文件和日志文件存放目录:
文章插图
安装 Redis 以及相关依赖工具我们先来安装 redis 以及相关依赖(需要能够访问到互联网):
# 安装相关依赖yum install -y wget gcc gcc-c++ make tar openssl openssl-devel cmake# 安装到 /usr/local 下cd /usr/local/ && wget https://download.redis.io/releases/redis-4.0.9.tar.gz# 解压缩tar -xvfredis-4.0.9.tar.gz
解压缩完毕之后我们进入目录开始编译安装:【一台服务器上部署 Redis 伪集群】
文章插图
配置并开启 Redis 服务首先我们先来配置六个 Redis 服务的配置文件:
文章插图
配置文件中需要改动的配置项是下面几个,其他的不变:
文章插图
配置好之后,六个 Redis 服务依次启动:
/usr/local/redis-4.0.9/src/redis-server redis-6379.conf && /usr/local/redis-4.0.9/src/redis-server redis-26379.conf/usr/local/redis-4.0.9/src/redis-server redis-6380.conf && /usr/local/redis-4.0.9/src/redis-server redis-26380.conf/usr/local/redis-4.0.9/src/redis-server redis-6381.conf && /usr/local/redis-4.0.9/src/redis-server redis-26381.conf
搭建 Ruby 环境redis-trib.rb 是一个 Ruby 脚本,用于创建、管理和维护 Redis 集群,它提供了一种命令行界面来执行各种集群操作,如添加节点、删除节点、平衡数据分布等,如果要使用 redis-trib.rb 这个 Ruby 脚本来管理 Redis Cluster,就需要安装 Ruby 解释器 。先下载 rvm 工具(网络问题多试几次):
#1.下载密钥curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -#2.下载安装包(网络问题多试几次)curl -L get.rvm.io | bash -s stable
文章插图
# 验证是否安装成功[root@localhost]# find / -name rvm/usr/local/rvm/usr/local/rvm/src/rvm/usr/local/rvm/src/rvm/bin/rvm/usr/local/rvm/src/rvm/lib/rvm/usr/local/rvm/src/rvm/scripts/rvm/usr/local/rvm/bin/rvm/usr/local/rvm/lib/rvm/usr/local/rvm/scripts/rvm# 启用 RVM 的环境变量source /etc/profile.d/rvm.sh
#查看依赖rvm requirements#验证 rvm 版本rvm -v
PS:如果安装 ruby 之后使用 redis-trib.rb 工具发现报错:文章插图
根据提示可以知道 redis-trib.rb 脚本无法找到 redis 模块,导致加载失败,这通常是因为系统中缺少了所需的 Ruby Redis 模块或模块的版本问题 。
运行以下命令安装 Redis Gem 模块:
# 安装 redis 模块,是 redis-trib.rb 脚本所需的依赖gem install redis
创建 Redis 集群创建集群(--replicas 1 表示指定每个 master 有一个 slave):cd /usr/local/redis-4.0.9/ && ./src/redis-trib.rb create --replicas 1 192.168.149.131:6379 192.168.149.131:26379 192.168.149.131:6380 192.168.149.131:26380 192.168.149.131:6381 192.168.149.131:26381
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 晚上千万不能喝这些汤 小心毒死你
- 四种水早上起床不能喝
- 凌晨时分,霍启刚跟妻子在街上大吵,郭晶晶:“你有完没完?”
- 通用机场可以客运吗雨伞能上地铁么 通用机场可以客运吗
- 早上梦见鬼是什么征兆 梦见鬼是什么征兆
- usb充电打火机可以带上飞机吗 火柴能带上飞机吗
- 学骑电动车的平衡是怎么掌握的 学骑电动车的平衡是怎么掌握的脚上不去
- 上职高等于没前途?北大教授的回答一针见血,网友:话糙理不糙
- 涂改液沾到手上怎么办 涂改液弄到手上怎么洗
- 养好身上三处“风水”,好运自会不期而至