• 六个节点三主三从Redis集群最简单搭建方法


    背景

    • 一个服务器上面的三主三从的界面太low,容易出问题.
    • 为了验证高可用, 我这边使用六台机器进行了三主三从的搭建.
    • 模仿开源版的一键搭建集群的脚本进行使用,感觉非常简单,这里简单进行一下总结.

    环境准备

    • 分发脚本以及环境基础准备
    将前天编译好的Redis7.0.0的介质进行分发.
    为了简单期间. 建议按照目录存放
    二进制只需要redis-cli 以及 redis-server 即可.
    ├── src
    │   ├── redis-benchmark
    │   ├── redis-cli
    │   ├── redis.conf
    │   ├── redis-sentinel
    │   └── redis-server
    └── util
        └── cluster
            └── create-cluster
    注意要打开几个机器的针对端口的访问, 避免安全问题
    

    获取创建集群的脚本

    • 修改原生的 create-cluster
    将 执行命令 修改为 echo "执行命令"
    主要有两个, 一个是 start 命令 一个是 create 命令
    
    简要将我这边获取的命令罗列如下:
    # 启动redis
     /redis_cluster/util/cluster/../../src//redis-server --port 30001 --protected-mode yes --cluster-enabled yes --cluster-config-file nodes-30001.conf --cluster-node-timeout 2000 --appendonly yes --appendfilename appendonly-30001.aof --appenddirname appendonlydir-30001 --dbfilename dump-30001.rdb --logfile 30001.log --daemonize yes --requirepass yourpassword  --masterauth yourpassword 
    # 注意其实有六个 每个都是不同的 port端口好, 这里需要严格对应
    # 注意其实会将log 以及 dump 和aof 文件放到 执行命令的目录, 这一块需要尤其注意.
    # 注意其实脚本里面有 持久化参数等内容, 可以进行适当修改. 也可以进行优化.
    
    #加入集群的命令
    /redis_cluster/util/cluster/../../src//redis-cli --cluster create  10.110.82.176:30001 10.110.82.180:30002 10.110.82.181:30003 10.110.82.182:30004 10.110.82.183:30005 10.110.82.184:30006 -a yourpassword --cluster-replicas 1
    # 注意一样的, 需要自己根据创建脚本的命令 修改IP地址. 在主节点执行命令即可. 就会创建.
    

    创建集群

    • 执行步骤需要注意
    1.  需要先执行start 再执行 create
    2.  注意自己执行start脚本时所在的路径, 不要弄错了.
    3.  注意密码, 部分特殊字符可能比较麻烦, 可以设置负责的不带特殊字符 但是有大小写足够复杂的密码
    4.  执行完可以进行验证
    

    集群验证

    • 简单介绍几个命令
    登录集群
    redis-cli -a yourpassword -h yournodeip -p 3000x -c 
    注意 -c 是 cluster 集群的含义 必须加 不然无法登录
    查看集群创建
    cluster info
    查看集群节点
    cluster nodes
    增加节点
    cluster meet
    或者
    cluster add-node
    删除节点
    cluster del-node
    重新分配slot
    cluster reshard
    

    正常可用集群的举例

    • cluster nodes
    70039bb8c3fd38af6dd74bd9c6016b2951e6c0bc 10.110.82.181:30003@40003 master - 0 1651334337182 3 connected 10923-16383
    bdf1075a3e473a8e3be761e1b9d3af544cde4e88 10.110.82.183:30005@40005 slave dc55e8019e9573c0efdd4f7f34f2058f1a6f4151 0 1651334337182 1 connected
    7815e556a3e22396933fc878b6980ef1cefd4799 10.110.82.184:30006@40006 slave 9cc36ef9a5c61926438f37ebc209fe71c67a0abf 0 1651334337000 2 connected
    dc55e8019e9573c0efdd4f7f34f2058f1a6f4151 10.110.82.176:30001@40001 myself,master - 0 1651334336000 1 connected 0-5460
    d5829acc49c9feab419b5427086770cecad5d651 10.110.82.182:30004@40004 slave 70039bb8c3fd38af6dd74bd9c6016b2951e6c0bc 0 1651334337081 3 connected
    9cc36ef9a5c61926438f37ebc209fe71c67a0abf 10.110.82.180:30002@40002 master - 0 1651334337182 2 connected 5461-10922
    
  • 相关阅读:
    Vue学习计划基础笔记(五) 表单输入绑定、组件基础
    获取url参数,删除url参数,添加url参数
    Vue学习计划基础笔记(六) 组件基础
    js实现拦截粘贴并修改粘贴内容
    使用PHP写ajax接口
    Vue中使用函数防抖
    适用于Ant design的省市区联动JSON数据
    一个关于重绘与回流的BUG(动画后页面高度没撑开)
    js快速把字符串的'false'和'true'转换成Boolean布尔值的false和true
    js去掉对象或数组中的空值('',null,undefined,[],{})
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/16211918.html
Copyright © 2020-2023  润新知