• Redis集群搭建


    Redis集群搭建

    安装集群,默认我们已经能启动单个服务的redis了

    配置

    1. 配置文件

    • 修改port,dir,logfile,pidfile,每个节点都需要单独的端口号和路径以及文件

    • protected-mode,如果设为yes,则需要设置bind绑定端口,或者设置redis连接密码,我这里设置为no的

    • cluster-enabled,是否启用集群模式,当然为yes

    • 把配置文件放置在同一个目录下面,方便启动

    port 20001
    dir /var/lib/redis20001
    logfile /var/log/redis/redis20001.log
    pidfile /var/run/redis_20001.pid
    protected-mode no
    cluster-enabled yes
    
    daemonize yes
    tcp-backlog 511
    timeout 0
    tcp-keepalive 300
    supervised no
    loglevel notice
    databases 16
    save 900 1
    save 300 10
    save 60 10000
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename dump.rdb
    slave-serve-stale-data yes
    slave-read-only yes
    repl-diskless-sync no
    repl-diskless-sync-delay 5
    repl-disable-tcp-nodelay no
    slave-priority 100
    appendonly no
    appendfilename "appendonly.aof"
    appendfsync everysec
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    aof-load-truncated yes
    lua-time-limit 5000
    slowlog-log-slower-than 10000
    slowlog-max-len 128
    latency-monitor-threshold 0
    notify-keyspace-events ""
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    list-max-ziplist-size -2
    list-compress-depth 0
    set-max-intset-entries 512
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    hll-sparse-max-bytes 3000
    activerehashing yes
    client-output-buffer-limit normal 0 0 0
    client-output-buffer-limit slave 256mb 64mb 60
    client-output-buffer-limit pubsub 32mb 8mb 60
    hz 10
    aof-rewrite-incremental-fsync yes
    

    2. 创建路径

    • 创建第一步中每个节点设置的dir,(我不知道系统会不会自动创建,没有测试,我直接创建了的)

    3. 启动各个节点

    #redis-server 路径
    redis-server etc/redis/redis20001.conf
    

    4. 检查启动状态

    #检查是否启动成功
    ps -ef|grep redis
    #查看redis端口号和状态
    netstat -tnlp | grep redis
    
    安装Ruby

      redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准备相关的依赖环境

    1. 安装curl

    yum -y install curl
    

    2. 安装rvm

    1. gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3  
    2. curl -L get.rvm.io | bash -s stable 
    # 如果报错“没有公钥,No public key”,则执行第三步添加公钥,没有报错执行第四步添加用户组
    

    3. 添加公钥

    如果报下面这个信息,则需要安装公钥

    gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
    

    4.添加用户组

    安装完,界面会提示:Please do NOT forget to add your users to the rvm group.我使用的是root用户,所以添加的也是root用户,根据自己用户添加

    usermod -aG rvm root
    

    4. 修改rvm的ruby下载源RubyChina镜像

    gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
    

    5.查看rvm库中可用的ruby版本

    rvm list known
    

    6.按照版本号安装ruby

    根据版本号安装ruby,[ruby-]2.6[.3]说明2.6版本有从2.6.0到2.6.3四个版本

    rvm install 2.6.3
    

    7.设置使用ruby版本

    rvm use 2.6.3
    

    8.设置默认ruby版本

    rvm use 2.6.3 --default
    

    9.查看当前ruby版本

    ruby --version
    
    创建集群

    • 进入redis-trib.rb 所在目录执行命令(需替换ip地址为自己服务器地址,替换端口号为配置文件端口号)
    ./redis-trib.rb  create  --replicas  1 192.168.1.1:20001  192.168.1.1:20002 192.168.1.1:20003  192.168.1.1:20004  192.1.1.210:20005   192.168.1.1:20006
    
    • 询问Can I set the above configuration? 输入yes继续

    • 验证集群

      • 查看主从关系命令:redis-cli -h 192.168.1.1 -p 20001 info Replication

        • 端口20001的从服务是端口20006的redis服务

        • 端口20005的主服务是端口20003的redis服务

      • 连接redis命令:redis-cli -h 182.92.67.19 -c -p 20001

        • 连接上20001端口的redis服务,set了一个key"hello",value"yhw",然后可以直接get到这个key

        • 连接上20005端口的redis服务,get key "hello",能够拿到内容


  • 相关阅读:
    该死的兼容性
    Tip:解决DesignMode不能正确反应是否处于设计模式的问题
    Oh, ListView里竟然什么也不显示,也不报错!
    Tip: Dock is better than Anchor
    Tip: Asp.net下载默认文件名里包含空格时,如何防止FireFox只截取空格前一部分作为文件名
    c#的DateTime.Now函数详解
    C#中的委托和事件(初稿)
    C#多线程学习
    .NET(c#)new关键字的三种用法
    Silverlight – WCF – MaxItemsInObjectGraph
  • 原文地址:https://www.cnblogs.com/yanghanwen/p/12346246.html
Copyright © 2020-2023  润新知