三台服务器搭建Redis cluster集群

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_35884966/article/details/85112559

目的:使用三台服务器搭建三主三从redis集群
前期准备
1.三台服务器,1,2,3
2.创建/usr/local/redis 文件夹
3.并在该文件夹下创建 6379,6380,bin,redis三个文件夹,6379,6380用来放置端口为6379和6380的redis配置文件redis.conf,bin下放置redis编译后的可执行文件redis-server,redis-cli,redis-check-rdb,redis-check-aof,redis-benchmark等,redis放置解压后的redis文件夹
4.开放服务器端口
  

centos7之前可用
iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
iptables -I INPUT -p tcp --dport 6380 -j ACCEPT
iptables -I INPUT -p tcp --dport 16379 -j ACCEPT
iptables -I INPUT -p tcp --dport 16380 -j ACCEPT
centos7
firewall-cmd --zone=public --add-port=6379/tcp --permanent

       我在这里选取6379,6380作为redis监听端口,搭建redis集群,默认端口加10000作为集群内部总线端口通信使用特殊协议,以便实现集群内部高带宽低时延的数据交换,如果不打开该端口会导致在创建集群时出现等待jion.......
5.安装ruby,ruby需要gcc相关支持(自行查找相关教程),注意:ruby相关操作在一台服务器上执行就可以
6.下载redis包,要求3以上

安装redis
1.解压redis.tar,进入src里,执行make编译后,拷贝redis-server,redis-cli,redis-check-rdb,redis-check-aof,redis-benchmark这五个执行文件到redis目录的bin下
2.三台服务器割启动两台redis

./redis-server  /usr/local/redis/6379/redis.conf
./redis-server  /usr/local/redis/6380/redis.conf


3.查询redisid
 

 lsof -i:6379
 lsof -i:6380

4.执行gem install redis来安装集群相关依赖
5.生成集群
    回到redis解压包下的src中执行

./redis-trib.rb create --replicas 1 ip1:6379 ip1:6380 ip2:6379 ip2:6380 ip3:6379 ip3:6380


    在生成集群时可能出现等待 join......请检查是否正确开放端口
    如果执行失败,需要删除各节点的nodes-6379.conf,nodes-6380.conf,appendonly.aof,dump.rdb(这些文件的路径在redis.conf中cluster-config-file配置),关闭各节点redis,重新打开
    如果还是不行,删除这些文件后,进入reids客户端清空redis
        ./redis-cli -h 127.0.0.1(该ip为当前服务器ip) -c -p 6379
        执行flushall
    然后再重新执行生成集群命令
    生成的集群默认是按顺序主从主从主从
查看集群状态
在bin文件下执行./redis-cli -h 127.0.0.1(该ip为当前服务器ip) -p 6379 -c cluster nodes

总结:搭建redis cluster并不难,主要在一些细节上会出现问题,折腾将近一下午才安装成功,本篇文章主要侧重作者在安装时遇到的坑,如有疑问,欢迎留言!

展开阅读全文

没有更多推荐了,返回首页