Linux(Centos7)Redis集群的搭建

Redis集群的搭建

集群中有三个节点的集群,每个节点有一主一从。需要6台虚拟机。
搭建一个伪分布式的集群,需要使用6个redis实例来模拟

  1. 开发环境的搭建
    搭建环境需要使用官方提供的ruby脚本。因此需要安装ruby的环境。
  2. 安装ruby
    redis集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境:

安装ruby

yum install ruby
yum install rubygems

安装ruby和redis的接口程序
拷贝redis-3.0.0.gem至(指定的目录下面) 例如(/usr/local)下
注:redis-3.0.0.gem这个文件是需要自己下载的
执行:

gem install /usr/local/redis-3.0.0.gem
  1. 集群节点的规划
    这里在同一台服务器用不同的端口表示不同的redis服务器,如下:
    语法:ip地址:端口(查看ip地址的命令为ifconfig)
    主节点:192.168.152.130 :7001192.168.152.130 :7002 192.168.152.130 :7003
    从节点:192.168.152.130 :7004 192.168.152.130 :7005 192.168.152.130 :7006
    在/usr/local下创建redis-cluster目录,其下创建7001、7002。。7006目录,如下:

在这里插入图片描述
操作方法,就是将单机版本的bin目拷贝到redis-clusster下面
注意:拷贝完毕之后要移除快照dump.rdb

将redis安装目录bin下的文件拷贝到每个700X目录内,同时将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下。

修改每个700X目录下的redis.conf配置文件:
在这里插入图片描述
端口
port XXXX
在这里插入图片描述

bind 192.168.152.130 (ip地址)
在这里插入图片描述

cluster-enabled 改为yes
在这里插入图片描述

  1. 启动每一个节点
    采用脚本的方式来启动6个redis实例
    命令:vim startall.sh
cd redis01
./redis-server redis.conf
cd ../
cd redis02
./redis-server redis.conf
cd ../
cd redis03
./redis-server redis.conf
cd ../
cd redis04
./redis-server redis.conf
cd ../
cd redis05
./redis-server redis.conf
cd ../
cd redis06
./redis-server redis.conf

执行脚本命令:

chmod +x startall.sh
  1. 执行创建集群命令
    执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境。
./redis-trib.rb create --replicas 192.168.152.130:7001 192.168.152.130:7002 192.168.152.130:7003 192.168.152.130:7004 192.168.152.130:7005  192.168.152.130:7006

在这里插入图片描述
说明:redis集群至少需要3个主节点,每个主节点有一个从节点总共6个节点
replicas指定为1表示每个主节点有一个从节点

注意:
如果执行时报如下错误:
[ERR] Node XXXXXX is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0
解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aof、dump.rdb

  1. 测试
    集群创建成功登陆任意redis结点查询集群中的节点情况。
    客户端以集群方式登陆:
    在这里插入图片描述
    说明:
    ./redis-cli -c -h 192.168.152.130 -p 7001 ,其中-c表示以集群方式连接redis,-h指定ip地址,-p指定端口号
    cluster nodes 查询集群结点信息

cluster info 查询集群状态信息

  1. 关闭集群
    可以编写一个redis集群的关闭脚本
vim stopall.sh
redis01/redis-cli -c -h 192.168.152.130 -p 7001 shutdown
redis01/redis-cli -c -h 192.168.152.130 -p 7002 shutdown
redis01/redis-cli -c -h 192.168.152.130 -p 7003 shutdown
redis01/redis-cli -c -h 192.168.152.130 -p 7004 shutdown
redis01/redis-cli -c -h 192.168.152.130 -p 7005 shutdown
redis01/redis-cli -c -h 192.168.152.130 -p 7006 shutdown
chmod +x stopall.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值