在上一篇文章中,笔记中记载了主从复制的作用和为什么要用到主从复制,在一些实战中,一台Redis服务器是远远不够的,下面我们来学习一下如何搭建Redis集群。
工具准备
1、Redis3.0以上版本
下载Redis的Windows版本,Redis3.0以上的版本才支持集群搭建,因此需要准备3.0版本以上的。下载地址:https://github.com/MicrosoftArchive/redis/releases
下载完成后直接解压,下面是Redis解压后的目录结构
2、Ruby
下载地址http://railsinstaller.org/en
下载后直接安装,安装比较简单,就不再赘述,不会安装的小伙伴可以度一下
安装后可测试一下是否安装成功,出现版本号便为安装成功。安装成功后执行命令gem install redis
3、构建集群脚本redis-trib.rb
链接:https://pan.baidu.com/s/1AoFmeHujvG7qXmFA5geWoA
提取码:e2za
搭建步骤
1、目录准备
为了搭建时方便整洁,可以单独准备一个文件夹,命名为cluster(可以任意),在其中创建几个文件夹备用(这里以端口号命名,易辨别),最少为6个
为什么是六个这里说明一下,因为Redis集群至少由三个主机节点组成,每个主机节点若一个从机,那么至少需要六个节点。笔者就遇到了这个错误。。Redis Cluster requires at least 3 master nodes.😟
将redis-trib.rb脚本文件放在与上面六个文件同级目录下(我这里没有单独准备文件夹,建议大家单独准备一个文件夹)
2、修改内容
将Redis解压目录下的内容复制到每一个文件夹下,文件夹是以端口号命名的,对应修改每一个文件夹下的端口号。修改有下列几处:
port 6379 #端口号,与文件夹名称对应
logfile "6379.log" #日志文件名,可不修改
dbfilename dump6379.rdb #rdb文件名,可不修改
cluster-enabled yes #开启集群模式
cluster-config-file nodes-6379.conf #保存节点配置,自动创建,自动更新(建议命名时加上端口号)
cluster-node-timeout 15000 #集群超时时间,节点超过这个时间没反应就断定是宕机
在每一个redis目录下新建一个start.bat脚本文件,内容如下,下次启动时直接执行该脚本
title redis-6379 #端口号与文件夹名称对应
redis-server.exe redis.windows.conf
3、启动start.bat
依次启动所有的集群节点目录中的start.bat(双击即可启动)
4、执行命令
以cmd命令进入存放集群节点与redis-trib.rb脚本的总目录,执行下面的命令
ruby redis-trib.rb create --replicas 1 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385
其中–replicas 1表示为集群中的每个主节点创建一个从节点,小伙伴们可以根据需要进行修改,–replicas 2表示为集群中的每个主节点创建两个从节点,依次类推。当然在修改了从节点的前,我们需要准备足够的集群节点(Redis集群至少由三个主机节点组成,两个从节点就至少需要九个集群节点,以此计算)
5、集群搭建成功
在此期间会有一次询问是否保存设置,输入yes即可。从打印的信息可以看到,端口号为6379、6380、6381的为主节点,6382、6383、6384为从节点。
6、测试
进入任意主节点的客户端,可在节点目录以cmd命令进入redis-cli.exe -c -p 6380
进入从节点的客户端,redis-cli.exe -c -p 6383
也可以通过命令查看集群信息:info replication
这样就成功啦~~
有错误的地方希望能够指正哦😊