修改配置文件redis.conf
- daemonize yes
- port 6379
- cluster-enabled yes
- cluster-config-file nodes.conf
- cluster-node-timeout 5000
要让集群正常运作至少需要三个主节点
我们这里就简单在一台主机上创建6个redis节点来演示集群配置,实际生产环境中需要每个节点一台主机。
我们要创建的6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下:
- 192.168.33.130:7000
- 192.168.33.130:7001
- 192.168.33.130:7002
- 192.168.33.130:7003
- 192.168.33.130:7004
- 192.168.33.130:7005
1、首先我们创建6个以端口为名称的文件夹(由于每个redis节点启动的时候,都会在当前文件夹下创建快照文件,所以我们需要创建每个节点的启动目录)
- mkdir 7000
- mkdir 7001
- mkdir 7002
- mkdir 7003
- mkdir 7004
- mkdir 7005
2、接下来把每个节点启动所需要的配置文件拷贝到相应的启动目录:
- cp redis.conf 7000
- cp redis.conf 7001
- cp redis.conf 7002
- cp redis.conf 7003
- cp redis.conf 7004
- cp redis.conf 7005
3、然后我们进入每个启动目录,修改之前拷贝的redis.conf文件中的端口port 为上面列出的对应端口。
最终每个节点的配置类似于:
- daemonize yes
- port 6379 #只有端口不同,其他相同
- cluster-enabled yes
- cluster-config-file nodes.conf
- cluster-node-timeout 5000
4、进入每个启动目录,以每个目录下的redis.conf文件启动
使用命令查看redis节点是否启动
- ps -ef | grep redis
5、创建集群命令
redis-trib.rb create --replicas 1 xxx:7000 xxx:7001 xxx:7002 xxx:7003 xxx:7004 xxx:7005
注意:
5.1、执行上面的命令的时候可能会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:
所以我们需要安装ruby的环境,这里推荐使用apt安装:
sudo apt-get install ruby
5.2、安装ruby后,执行命令可能还会报错,提示缺少rubygems组件,使用yum安装
解决方法:
sudo apt-get install rubygems (有一个是叫rubygems-inte什么的)
5.3、上面两个步骤后,执行创建集群目录可能还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装。
解决方法:
sudo apt-get install redis
上面三个问题解决后,启动创建集群应该可以正常启动了:
这里输入yes
最后结果:
到此,我们的集群搭建成功了。
6、接下来我们使用命令进入集群环境
redis-cli -c -p 7000
可以在里面输入cluster info 和 cluster nodes;