⑴ 系统环境:Nitrux-Release-1.0.9-5 和 Centos-7
⑵Redis版本:Redis-4.0.8
国内下载地址(比较慢):https://redis.io/
国外下载地址:http://www.redis.cn/
(已经安装过的直接看第二步)
安装的就简单了,把安装包下载下来,解压,编译,运行即可。
命令行下移动到软件包所存放的目录,运行下面指令解压
tar -zxvf redis-4.0.8.tar.gz
解压完成后移动到任意目录,看你喜欢,不移动也是可以的。我这里被我移动到了/home/alex/Software/redis-4.0.8/6379
这个目录下面:
执行指令make
进行编译:
等待编译完成后,执行指令
src/redis-server
出现如下界面说明安装并运行成功。
完美。
在单机情况下,我们要用6个端口模拟6台主机,实现单设备集群。现在就一步一往下走。
redis.conf
文件修改redis.conf文件,可以先拷贝一份再做修改
cp redis.conf redis.conf2
修改我们刚刚拷贝的文件,需要修改的内容如下:
⑴屏蔽限制本地访问,在bind 127.0.0.1
之前加#
⑵protected-mode
后的yes
改为no
⑶daemonize
后的no
改为yes
⑷去掉cluster-enabled yes
前面的#
(按Esc
键退出i编辑模式,输入/
,再输入cluster-enabled
,回车,就可以快速找到)
⑸去掉cluster-node-timeout 15000
前面的#
(按Esc
键退出i编辑模式,输入/
,再输入cluster-node-timeout
,回车,就可以快速找到)
执行完上面五步,按Esc
后wq
退出保存。
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
文件刚刚并没有修改端口号,现在就到各个文件夹底下修改redis.conf
文件里面port
后面的数字,即端口号,对应各个文件夹。
修改结果
需要修改的部分已经完全修改完成,现在分别启动6个不同端口的服务。(切记,进入对应目录启动)
src/redis-server ./redis.conf
各个服务启动成功
进入/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
安装完成后,再次执行创建集群指令:
单机集群配置成功
第三部分我将介绍多台设备的集群配置以及在原有的集群配置上面加入新的设备。
环境介绍:虚拟机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服务
⑵启动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服务器。
此时在远程服务器输入以下指令可以解决
iptables -F
当集群各个节点扛不住业务的需要时,我们可能需要往集群里添加新的节点以供业务的正常使用,现在介绍如何添加新节点。
⑴在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号
第二个参数:从节点本身
第三个参数:在集群内的任意一个才节点的地址
验证一下:
好,已经加进来了。