centos7下的redis集群模式

Posted 会偷袭的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7下的redis集群模式相关的知识,希望对你有一定的参考价值。

1.先安装好单机版的redis

2.Reids安装包里有个集群工具,要复制到/usr/local/bin里去

cd /home/redis/redis-4.0.6/src

ls -1

 

cp redis-trib.rb /usr/local/bin

cd /usr/local/bin

 

 

 

 

已经复制进来了。

3.创建节点,修改配置文件:

我们现在要搞六个节点,三主三从,

端口规定分别是7001,7002,7003,7004,7005,7006

我们先在root目录下新建一个redis_cluster目录,然后该目录下再创建6个目录,

分别是7001,7002,7003,7004,7005,7006,用来存在redis配置文件;

这里我们要使用redis集群,要先修改redis的配置文件redis.conf

[root@localhost ~]# mkdir redis_cluster

[root@localhost ~]# cd redis_cluster/

[root@localhost ~]# mkdir 7001 7002 7003 7004 7005 7006

 

 

 

先复制一份配置文件到7001目录下

[root@localhost redis_cluster]# cd
 
[root@localhost ~]# cp /home/redis/redis-4.0.6/redis.conf redis_cluster/7001/
 
[root@localhost ~]# vim /home/redis_cluster/7001/redis.conf 

修改此配置文件里面的一下几项数值:

#bind 127.0.0.1  #注释掉,使其他机器也可访问
 
protected-mode no #关闭保护模式
 
 
 
port 7001  #六个节点配置文件分别是7001-7006
 
daemonize yes        #redis后台运行
 
pidfile /var/run/redis_7001.pid   #pidfile文件对应7001-7006
 
cluster-enabled yes   #开启集群
 
cluster-config-file nodes_7001.conf  #保存节点配置,自动创建,自动更新对应7001-7006
 
cluster-node-timeout 5000    /#集群超时时间,节点超过这个时间没反应就断定是宕机

7001下的修改完后,我们把7001下的配置分别复制到7002-7006 ,只需修改port 、pidfile、cluster-config-file 即可

4.分别启动上述六个节点

/usr/local/bin/redis-server /home/redis_cluster/7001/redis.conf
/usr/local/bin/redis-server /home/redis_cluster/7002/redis.conf
/usr/local/bin/redis-server /home/redis_cluster/7003/redis.conf
/usr/local/bin/redis-server /home/redis_cluster/7004/redis.conf
/usr/local/bin/redis-server /home/redis_cluster/7005/redis.conf
/usr/local/bin/redis-server /home/redis_cluster/7006/redis.conf

 

 

 

出现以上说明这六个节点已经启动成功,接下来需要创建集群

5.创建集群

这里需要用到第一步复制到usr/local/bin里面的redis-trib.rb工具

创建集群之前需要安装rubby,以及redis和rubby的连接 

[root@localhost ~]# yum -y install ruby ruby-devel rubygems rpm-build
 
[root@localhost ~]# gem install redis

但是用yum安装的话,可能ruby的版本比较低,创建redis集群必须是2.2.2版本以上;

[root@localhost ~]# yum list ruby

卸载ruby

[root@localhost ~]# yum remove ruby  

安装高版本ruby的方法:

换yum源安装

[root@localhost ~]# yum install centos-release-scl-rh    //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
[root@localhost ~]# yum install rh-ruby23 -y    //直接yum安装即可  
[root@localhost ~]# scl enable rh-ruby23 bash    //必要一步
[root@localhost ~]# ruby -v    //查看安装版本

这种方法安装重启centos7服务器后,ruby可能又会变回低版本,那就

改下配置:

[root@localhost ~]# vim /etc/profile

加入下面两行配置信息
source /opt/rh/rh-ruby23/enable

export X_SCLS="`scl enable rh-ruby23 \'echo $X_SCLS\'`"

[root@localhost ~]# source /etc/profile #让配置生效


 

然后重新启动redis各个节点即可

创建集群命令:

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

注:以上命令必须是对外开放的Ip,不然无法连接redis集群。否则集群配置错误,创建集群时应该使用客户端可以访问到的IP地址(而不是使用127.0.0.1)

 

 

以上说明集群已经配置成功!

以上是关于centos7下的redis集群模式的主要内容,如果未能解决你的问题,请参考以下文章

解决Redis Cluster模式下的排序问题

Centos7下安装redis实战(单机版以及集群)

Redis v6.0.6 集群cluster模式布署

Centos7下安装Redis实战(单机版以及集群)

Redis集群专题「集群技术三部曲」分析一下相关的Redis集群模式下的脑裂问题(问题篇)

就publish/subscribe功能看redis集群模式下的队列技术