redis集群搭建

redis集群搭建

搭建redis集群前必看

redis集群版本决定是否需要安装Ruby环境
搭建redis集群之前的准备工作(该文章3.1-3.8)

为什么要安装ruby?

redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序,
这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。
参考地址如下>>>>
redis redis-trib.rb工具的使用
redis中文官网

使用curl命令安装rvm

curl -L get.rvm.io | bash -s stable

如果curl命令使用不了,使用下面命令安装

yum install curl

执行命令会有以下提示
redis集群搭建_第1张图片

gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

执行该命令,不成功的话对此命令进行调整,调整成以下命令

gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

执行成功后的提示
redis集群搭建_第2张图片
接下来还需要再执行安装rvm命令

curl -L get.rvm.io | bash -s stable

redis集群搭建_第3张图片执行提示的命令

source /etc/profile.d/rvm.sh

查看rvm版本

rvm -v

使用rvm命令查看ruby版本

rvm list known

redis集群搭建_第4张图片
通过rvm命令安装ruby(Ruby version >= 2.4.0.)
安装命令可以多执行几遍

rvm install 2.6.3

redis集群搭建_第5张图片
安装成功后可以查看版本,命令如下

ruby --version

在这里插入图片描述
接下来需要安装redis-trib.rb脚本所依赖redis的gem插件,执行下面命令进行安装

gem install redis

安装成功
redis集群搭建_第6张图片

如果执行命令执行不了(不是报错)

可以参考该网址解决
内网机器无rubygems源导致的gem命令执行不了
缺少zlib或者openssl

安装完就可以执行集群搭建命令(redis版本5.0前后集群部署命令有差别,即使使用了5.0之前的集群部署命令,也会提示正确的部署命令,命令复制下来执行即可),参考地址redis集群搭建命令

redis5.0之前使用ruby脚本创建集群的命令

redis-trib.rb create --replicas 1 8.136.8.130:7001 8.136.8.130:7002 8.136.8.130:7003 8.136.8.130:7004 8.136.8.130:7005 8.136.8.130:7006

redis5.0之后使用redis-cli创建集群的命令

redis-cli --cluster create 8.136.8.130:7001 8.136.8.130:7002 8.136.8.130:7003 8.136.8.130:7004 8.136.8.130:7005 8.136.8.130:7006 --cluster-replicas 1

集群创建成功截图
redis集群搭建_第7张图片

执行redis集群创建命令出现的问题

本人搭建的redis伪集群用的redis版本是大于5.0的
对于5.0之前的搭建方式及环境也做了适配操作,但不影响之后的集群搭建

第一个问题:redis节点的配置文件问题,redis.conf里面的用户名和密码要注释掉,绑定ip注释掉,启动守护线程(daemonize),关闭保护模式(protected-mode),可参考redis集群配置文件处理
第二个问题:ip问题,redis集群搭建服务器不只是需要暴露出集群端口,也要暴露出集群总线端口,集群总线端口为原集群端口+10000,集群总线端口暴露redis主节点的即可

总结

  • 搭建redis集群说简单也简单,说难也难,也参考了不少别人的搭建经验
  • 如果想要更深入的了解redis的使用,还需要熟悉redis的相关配置,以及redis-cli命令的更深层次的使用,才能更好的使用redis和控制redis集群

你可能感兴趣的:(redis,redis,ruby,数据库)