基于Redis5.0,使用redis自带脚本create-cluster搭建Redis集群

基于redis5.0,使用create-cluster脚本创建Redis集群

  1. 安装redis5.0以上版本
  2. 安装步骤
#将安装包redis-5.0.12.tar.gz上传到服务器:如 /home/redis
cd /home/redis
tar -zxvf redis-5.0.12.tar.gz

#运行需要C环境
yum install gcc-c++

#对解压后的文件进行编译
cd /home/redis/redis-5.0.12
make
#进入到redis-5.0.12/src文件目录下
cd src
make install PREFIX=/home/redis/redis-5.0.12
  1. 找到redis安装目录下的utils/create-cluster文件
  2. 基于utils/create-cluster目录下的create-cluster脚本文件配置集群
  3. 修改create-cluster脚本,vim create-cluster
    设置绑定ip和密码
    PORT=50000 #初始端口号,会自动+1,可自行修改
    IP=0.0.0.0 #bind ip,添加配置
    PWD=ywzs@2020! #密码,添加配置
    TIMEOUT=2000
    NODES=6 #六个节点,三主三从
    REPLICAS=1 #每个主节点,对应一个从节点

start部分

--bind $IP --masterauth $PWD --requirepass $PWD --protected-mode no # $IP,$PWD使用上面的配置

create部分
stop部分

  1. 配置完,保存退出
  2. create-cluster指令,通过 ./create-cluster --help查看
    在这里插入图片描述
  3. 每台服务器上都要启动集群 ./create-cluster start
  4. 其中一台服务器创建集群,使用bin/redis-cli创建,-a为集群的密码
../../bin/redis-cli --cluster create IP:50001 IP:50002 IP:50003 IP:50004 IP:50005 IP:50006 --cluster-replicas 1 -a ywzs@2020!

  1. 停止、启动
# 停止
./create-cluster stop

# 启动
./create-cluster start  

注:如果多机部署的话,只要在不同机器上如上配置,然后 …/…/bin/redis-cli --cluster create 的时候,后面的ip:port 换成其他机器的ip和端口就行了,其他机器只要执行 ./create-cluster start即可,其中一台服务器执行…/…/bin/redis-cli --cluster create 公网IP:50001 公网IP:50002 公网IP:50003 公网IP:50004 公网IP:50005 公网IP:50006 --cluster-replicas 1 -a ywzs@2020!即可。

  1. 此时在utils/create-cluster文件夹下会生成很多nodes-50001.conf文件,打开此文件,会发现除了本身端口的ip为内网ip,其他端口ip均为公网ip(坑啊),然后把内网ip换成公网ip,保存重启集群就行了。每个nodes-5000X.conf都要修改,修改完使用./create-cluster stop,./create-cluster start 重启就行了,不要删除nodes-5000X.conf文件哦。。。
  2. 然后发现Redis可视化工具,SpringBoot就可以连接了。。。
  3. SpringBoot配置
spring:
  redis:
    database: 0
    cluster:
      nodes:
        - IP:50001
        - IP:50002
        - IP:50003
        - IP:50004
        - IP:50005
        - IP:50006
    password: ywzs@2020!

**

redis集群 Waiting for the cluster to join 一直等待 问题:

redis集群创建执行

../../bin/redis-cli --cluster create IP:50001 IP:50002 IP:50003 IP:50004 IP:50005 IP:50006 --cluster-replicas 1 -a ywzs@2020!

的时候一直等待 Waiting for the cluster to join 很久都没有反应。

原因:
redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口

集群总线端口为redis客户端连接的端口 + 10000

如redis端口为50001

则集群总线端口为60001

故,所有服务器的点需要开通redis的客户端连接端口和集群总线端口

注意:iptables 放开,如果有安全组,也要放开这两个端口

防火墙开放端口命令
firewall-cmd --add-port=50001-50006/tcp --permanent
firewall-cmd --add-port=60001-60006/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值