Redis集群搭建(单设备,多设备)

Redis集群搭建(单设备,多设备)

准备

⑴ 系统环境:Nitrux-Release-1.0.9-5 和 Centos-7
⑵Redis版本:Redis-4.0.8
国内下载地址(比较慢):https://redis.io/
国外下载地址:http://www.redis.cn/

第一步 安装Redis

已经安装过的直接看第二步

安装的就简单了,把安装包下载下来,解压,编译,运行即可。

命令行下移动到软件包所存放的目录,运行下面指令解压

tar -zxvf redis-4.0.8.tar.gz

安装Redis1

解压完成后移动到任意目录,看你喜欢,不移动也是可以的。我这里被我移动到了/home/alex/Software/redis-4.0.8/6379这个目录下面:

安装Redis2

执行指令make进行编译:

安装Redis3

等待编译完成后,执行指令

src/redis-server

安装Redis4

出现如下界面说明安装并运行成功。

安装Redis5

完美。

第二步 单设备集群配置

在单机情况下,我们要用6个端口模拟6台主机,实现单设备集群。现在就一步一往下走。

1、修改redis.conf文件

修改redis.conf文件,可以先拷贝一份再做修改

cp redis.conf redis.conf2

修改redis.conf文件1

修改我们刚刚拷贝的文件,需要修改的内容如下:

⑴屏蔽限制本地访问,在bind 127.0.0.1之前加#

修改redis.conf文件2

protected-mode后的yes改为no

修改redis.conf文件3

daemonize后的no改为yes

修改redis.conf文件4

⑷去掉cluster-enabled yes前面的#(按Esc键退出i编辑模式,输入/,再输入cluster-enabled,回车,就可以快速找到)

修改redis.conf文件5

⑸去掉cluster-node-timeout 15000前面的#(按Esc键退出i编辑模式,输入/,再输入cluster-node-timeout,回车,就可以快速找到)

修改redis.conf文件6

执行完上面五步,按Escwq退出保存。

2、拷贝redis文件夹

将上面修改完成的redis.conf文件的文件夹分别拷贝一份到刚刚创建的6个文件夹里面。

cp -r redis cluster/7000
cp -r redis cluster/7001
cp -r redis cluster/7002
cp -r redis cluster/7003
cp -r redis cluster/7004
cp -r redis cluster/7005

拷贝redis.conf文件

3、再次修改redis.conf文件

刚刚并没有修改端口号,现在就到各个文件夹底下修改redis.conf文件里面port后面的数字,即端口号,对应各个文件夹。

再次修改<code>redis.conf</code>文件1

再次修改<code>redis.conf</code>文件2

修改结果

再次修改<code>redis.conf</code>文件3

4、分别启动Redis服务

需要修改的部分已经完全修改完成,现在分别启动6个不同端口的服务。(切记,进入对应目录启动)

src/redis-server ./redis.conf

分别启动Redis服务

各个服务启动成功

各个服务启动成功

5、集群配置

进入/home/alex/Software/redis-4.0.8/cluster/7005/src下,执行创建集群语句,报了一个错,如下(没报错的可以忽略)

./redis-trib.rb  create  --replicas  1   127.0.0.1:7001  127.0.0.1:7002 127.0.0.1:7003  127.0.0.1:7004  127.0.0.1:7005  127.0.0.1:7000

集群配置

出现报错:安装ruby和redis接口

apt install ruby
gem install redis

安装ruby

安装redis接口

安装完成后,再次执行创建集群指令:

集群配置1

单机集群配置成功

单机集群配置成功

第三步 多设备集群配置

第三部分我将介绍多台设备的集群配置以及在原有的集群配置上面加入新的设备。

环境介绍:虚拟机3台

虚拟机3台

它们的IP地址分别是:
1. Nitrux-Release-1.0.9-5: 10.16.71.126 (别名Node1)
2. CentOS-64-01: 10.16.71.149 (别名Node2)
3. CentOS-64-02: 10.16.71.125 (别名Node3)

多台设备的集群配置

这一部分我就不会再详细介绍,多设备集群实现与单机集群的实现大同小异。所以,我就把不同的地方拿出来介绍一下,其他与单机集群相同的我就不再重复介绍。

上面我们给出了3个虚拟机,在这部分我只需要用到其中两个,如果说你会配置两个就一定会配置三个四个,所以说我在这里只用到两个。

好,现在选择Node1和Node2作为本次操作演示。在Node1启动4个Redis服务,在Node2启动2个Redis服务。

不同点一

bind需要填写真实地址

不同点一

不同点二

文件名称不可相同,自定。(按Esc键退出i编辑模式,输入/,再输入cluster-config-file,回车,就可以快速找到)

不同点二

其他照常

⑴启动Node2的2个Reids服务

启动Node2的2个Reids服务

⑵启动Node1的4个Reids服务

启动Node1的4个Reids服务

⑶创建集群

./redis-trib.rb  create  --replicas  1 10.16.71.126:7000 10.16.71.126:7001 10.16.71.126:7002 10.16.71.126:7003 10.16.71.149:7000 10.16.71.149:7001

创建集群

创建集群成功,和单机操作方式完全相同

创建集群

⑷测试一下

测试一下

完美

可能出现错误

(有新错误欢迎留言告知)

错误1:

无法连接到远程Redis服务器。

错误1

此时在远程服务器输入以下指令可以解决

iptables -F

集群加入新设备

当集群各个节点扛不住业务的需要时,我们可能需要往集群里添加新的节点以供业务的正常使用,现在介绍如何添加新节点。

⑴在Node3上面启动2两个Redis服务

在Node3上面启动2两个Redis服务

⑵加入主节点

./redis-trib.rb add-node 10.16.71.125:7000 10.16.71.126:7001

第一个地址为要加入集群的地址
第二个地址为存在集群内的任意主地址

[加入主节点

src/redis-cli -c -h 10.16.71.126 -p 7002 cluster nodes

检查一下发现已经添加进来

加入主节点成功

⑶加入为从节点

 ./redis-trib.rb add-node --slave --master-id 7614c25cc902f21da6725a39b310422707395aa9  10.16.71.125:7001 10.16.71.126:7003

接下来还要把7001做为7000的从节点也加入到集群里边儿来,这里的话我们首先要记住7001这个主节点的节点id,从节点加入到集群的时候要用到.。

第一个参数:从节点对应主节点的id号
第二个参数:从节点本身
第三个参数:在集群内的任意一个才节点的地址

加入为从节点

验证一下:

验证一下

好,已经加进来了。

参考内容

  1. redis集群搭建(同机器、不同机器搭建)
    https://blog.csdn.net/u012042021/article/details/72818759
  2. Redis Cluster error
    https://stackoverflow.com/questions/37193338/redis-cluster-error
  3. Could not connect to Redis No route to host问题解决
    https://blog.csdn.net/sparkexpert/article/details/51039760
  4. (error) MOVED 原因和解决方案
    https://www.fashici.com/tech/356.html
  5. redis cluster 集群配置示例: 创建, 添加节点, 重新分片, 删除节点
    https://blog.csdn.net/reyleon/article/details/51454334
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值