Redis集群搭建

一、架构:

三主三从

二、环境和版本:

Linux环境:CentOS 7.6

Redis版本:redis 4.0.10

二、搭建步骤:

1、搭建Redis集群

1)安装redis(在三台服务器上分别安装)

把相关安装包复制到/root/bak目录下

 

查看是否安装了gcc编译环境(Redis是C语言开发,编译依赖gcc环境)

# gcc -v

 

 

编译、安装

# make

 

# make install

 

 

2)创建redis集群目录(在三台服务器上分别创建)

# cd /opt/redis-4.0.10

# mkdir redis-cluster

# cd redis-cluster

# mkdir 6381

# mkdir 6382

 

 

redis安装目录/opt/redis-4.0.10下的redis.conf文件拷贝至6381文件夹,并修改以下配置:

 

daemonize yes #开启后台运行

port 6381 #工作端口

bind 172.18.183.7 #绑定机器的内网IP,一定要设置呀老铁,不要用127.0.0.1,如果需要远程访问使用0.0.0.0

dir /opt/redis-4.0.10/redis-cluster/6381/ #指定工作目录,dump,rdb快照文件将会放在该目录下,不同实例一定要配置不同的工作目录

cluster-enabled yes #启用集群模式

cluster-config-file nodes-6381.conf #生成的集群配置文件名称,集群搭建成功后会自动生成,在工作目录下

cluster-node-timeout 5000 #节点宕机发现时间,可以理解为主节点宕机后从节点升级为主节点时间

pidfile /var/run/redis_6381.pid #pid file所在目录

logfile /var/log/redis_6381.log #配置日志文件路径

 

把6381文件夹下的6381.conf文件拷贝到6382目录,并重新修改port 、bind、dir、cluster-config-filepidfile、logfile 六个属性。

 

6381、6382里的配置文件拷贝到其它两台机器对应的6381、6382目录里,并修改port、bind两个属性。

 

由于创建集群需要用到redis-trib这个命令,它依赖Ruby和RubyGems,因此我们要先下载安装一下(最好在三台服务器上都安装)

# cd /root/bak

# wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz

 

 

 

解压到/opt目录下

# tar -zxvf ruby-2.5.1.tar.gz -C /opt/

# cd /opt/ruby-2.5.1/

安装编译环境

# yum -y install openssl openssl-devel

 

# ./configure --prefix=/usr/local/ruby

 

# make

 

 

# make install

 

 

查看安装后的版本

# /usr/local/ruby/bin/ruby -v

 

 

设置环境变量

# vi /etc/profile

最后添加

export PATH=$PATH:/usr/local/ruby/bin:

 

保存退出,执行

source /etc/profile

验证下

echo $PATH

 

 

镜像加速

# gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

 

# gem sources -l

 

 

安装ruby的redis接口,版本选择3.3.5的,为何会选择3.3.5的是因为之前装的是4.0以上版本的在移槽过程中出现异常了,故选择3.3.5的亲测没问题。

# gem install redis -v 3.3.5

 

分别在三台服务器启动六个集群节点

# cd /opt/redis-4.0.10/

# ./src/redis-server redis-cluster/6381/6381.conf

# ./src/redis-server redis-cluster/6382/6382.conf

 

创建集群

172.18.183.7服务器执行如下命令创建集群

# ./src/redis-trib.rb create --replicas 1 172.18.183.7:6381 172.18.183.1:6381 172.18.183.3:6381 172.18.183.7:6382 172.18.183.1:6382 172.18.183.3:6382

 

  

查看集群信息

# ./src/redis-trib.rb check 172.18.183.7:6381

 

 

redis集群设置密码

 

修改所有Redis集群中的redis.conf文件加入:

masterauth 123456 

 

requirepass 123456

 

设置完密码后需要重新启动各节点

 

设置密码之后如果需要使用redis-trib.rb的各种命令

如:./redis-trib.rb check 172.18.183.7:6381

需要修改密码

#  vi /usr/local/ruby/lib/ruby/gems/2.5.0/gems/redis-3.3.5/lib/redis/client.rb

 修改password为上面设置的密码即可。

 

三、参考资料:

redis集群搭建参考

https://blog.csdn.net/csdnmrliu/article/details/83618124

安装ruby参考

https://blog.whsir.com/post-2659.html

原文地址:https://www.cnblogs.com/linbs/p/12602168.html