由于redis 5.0 版本及以上是由C重新编写,而redis 5.0 版本以下是由ruby语言编写。这也导致redis 5.0 版本及以上,5.0 版本以下在搭建集群时,有些不一样。所以,在搭建集群时,会将其分开进行阐述。
在进行Redis集群搭建前,先安装好redis
在进行Redis集群搭建之前,我们先将 redis.conf
文件下的参数进行修改,因为每个redis实例都有自己的redis.conf文件,所以修改的时候得根据实际情况进行修改。
[root@7con ~] port 63xx
[root@7con ~] bind 127.0.0.1 # 指定物理接口ip地址
[root@7con ~] cluster-enabled yes # 搭建redis集群必须开启
[root@7con ~] daemonize yes
[root@7con ~] pidfile /var/run/redis_63xx.pid # 不可相同
[root@7con ~] cluster-config-file nodes-63xx.conf # 不可相同
[root@7con ~] cluster-node-timeout 5000 # 节点之间通信超时时间
因为,搭建redis集群需要 3个主节点
,且还有 3个从节点
,所以,至少需要配置6个节点
。因为在之前我们已经搭建了一个单实例的redis,所以我们只要在创建5个节点
即可,修改完配置文件后将每个redis实例启动,结果如下图:
[root@7con ~] cd /usr/local/cluster/
[root@7con ~] mkdir redis-638{0..4}
# 然后将redis-6379下的文件都copy一份到每个目录下。然后修改根据文章开头的参数进行修改 `redis.conf`
# 最后将每个redis实例启动
[root@7con ~] /usr/local/cluster/redis-6379/bin/redis-server /usr/local/cluster/redis-6379/redis.conf
... ...
... ...
... ...
使用 redis-cli
命令进行集群添加,成功结果如下图:
[root@7con ~] redis-cli --cluster create 127.0.0.1:6379 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 --cluster-replicas 1
检查集群节点状态信息
[root@7con ~] redis-cli -c -p 6379
Redis-5.0及以上版本是由C编写,所以可以直接使用redis-cli的命令进行集群的创建,但是在Redis-5.0以下的版本则不行,5.0以下版本需要安装支持的ruby的依赖项才可以使用命令进行集群的创建。
CentOs:
[root@7con ~] yum -y install ruby rubygems
Ubuntu:
[root@7con ~] apt-get -y install ruby rubygems
两个系统同操作:
[root@7con ~] gem install redis
Successfully installed redis-4.1.0
Parsing documentation for redis-4.1.0
Installing ri documentation for redis-4.1.0
Done installing documentation for redis after 1 seconds
1 gem installed
在 redis
源码包 下的 src
目录会有 redis-trib.rb
脚本,我们只要执行下面命令即可创建redis集群:
[root@7con ~] ./redis-trib.rb create --replicas 1 127.0.0.1:6379 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
# 中途会需要输入yes
# --replicas 1 表示给每一个master配置一个slave
# 成功后的效果如 5.0 以上版本创建的效果以及使用的命令均一致
Redis集群到这里就已经搭建部署完成。
感谢阅读,本文旨在提供参考,如有错误,欢迎大家指正。帮助编者不断的改进!