美文网首页
Start Redis Cluster

Start Redis Cluster

作者: RoyTien | 来源:发表于2020-07-15 16:07 被阅读0次

    redis 集群配置、启动
    want to run redis-server in background nonstop
    Creating and using a Redis Cluster

    已知信息

    1. Redis verison >= 5.0
    2. 启动 Redis 命令 ./src/redis-server 「前端启动」
    3. 将启动 Redis 方式改为「后端启动」,将 redis.conf 中的 daemonize no 改为 daemonize yes

    必备知识

    1. Redis 集群至少需要 3 个节点,因为投票容错机制要求超过半数节点认为某个节点挂了,该节点才是挂了,因此 2 个节点无法构成集群。(两个节点的集群,一个没反应,一个认为第一个挂了,只有 50%,没有超过半数...)
    2. 要保持集群高可用,需要每个节点都有从节点(备份节点),因此 Redis 集群至少需要 6 台服务器。(非强制)

    Redis 集群设定

    我们假定 Redis 集群的 3 台节点 port 分别为 7001, 7002, 7003

    具体操作

    1. redis 目录下创建目录 redis_cluster
    redis-5.0.3 >> mkdir redis_cluster
    
    1. redis_cluster 目录下创建目录 7001, 7002, 7003
    redis_cluster >> mkdir 7001 7002 7003
    
    1. redis 目录下的 redis.conf 复制到 redis_cluster/[port]/conf
    redis-5.0.3 >> cp redis.conf redis_cluster/7001/conf/
    
    1. 将各个 redis_cluster/[port]/conf/redis.conf 中的以下字段修改
    port 7002  # [port]
    daemonize yes
    cluster-enabled yes
    cluster-config-file nodes-7002.conf  # [port]
    cluster-node-timeout 5000
    appendonly yes
    
    1. 启动各个节点
    redis-5.0.3 >> ./src/redis-server redis_cluster/7003/conf/redis.conf
    
    1. 启动 Redis Cluster,使用 --cluster-replicas 意味着从节点数为 1
    ./src/redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003
    # ./src/redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 --cluster-replicas 1
    

    错误

    有可能会出现错误信息

    [ERR] Node 127.0.0.1:7000 is not empty ...
    

    解决方法:删除 node-xxx.conf 配置文件,删除 pid 文件,删除各节点 .aof, .rdb 文件,kill 所有 redis 进程,重启 redis 集群。

    相关文章

      网友评论

          本文标题:Start Redis Cluster

          本文链接:https://www.haomeiwen.com/subject/nxxjhktx.html