• Linux搭建redis集群


    前言

    如果是redis单机版安装,可以参考上一篇:Linux安装redis

    本篇的安装环境和上篇一样,但是本篇是搭建redis集群。要保证集群的高可用,需要每个节点都有从节点,所以Redis集群至少需要6台服务器。因为只有一台服务器,所有这里搭建的伪分布式集群,即一台服务器虚拟运行6个redis实例,修改端口号为8001~8006。

    搭建

    1、在/usr/local目录下,创建一个目录 rediscluster

    mkdir rediscluster

    2、进入reidscluster目录,创建6个文件夹(批量)

    mkdir ./node800{1,2,3,4,5,6}

    创建的文件夹如下所示:

     3、将redis配置文件拷贝到 ./rediscluster/node8001/ 下

    cp redis/redis.conf ./rediscluster/node8001/

    4、修改配置文件内容

    port 8001                                --设置端口
    #bind 127.0.0.1                          --去掉绑定ip信息
    protected-mode no                        --关闭保护模式
    dir /usr/local/rediscluster/node8001     --指定数据文件存放位置,必须要指定不同的目录,不然会丢失数据,默认 dir ./。
    cluster-enabled yes                      --开启集群模式
    cluster-config-file nodes-8001.conf      --集群节点配置文件,这里的800x最好和port对应上,redis集群自动创建、自动更新
    cluster-node-timeout 5000                --集群超时时间,节点超过这个时间没反应就断定是宕机
    appendonly yes                           --开启AOF持久化
    
    如果要设置密码,需要增加如下配置:
    requirepass 123456                       --设置redis访问密码
    masterauth 123456                        --设置集群节点间访问密码,跟上面一致

    5、保存后,将此配置文件复制到其它节点(node8002~node8006)

     6、在node8002~node8006的配置文件中,命令模式下执行替换命令(将8001改为800x):

     7、切到redis目录,启动node8001节点服务

    ./src/redis-server /usr/local/rediscluster/node8001/redis.conf

    查看redis进程,发现进程中有表示为 [cluster]的redis进程。如下所示:

    8、参照上一步,分别启动其它5个节点。启动后查看进程如下:

     

     9、创建集群(其中:-a 123456是配置文件中的密码,cluster-replicas 1,表示1个从节点)

    ./src/redis-cli -a 123456  --cluster create 192.168.20.15:8001 192.168.20.15:8002 192.168.20.15:8003 192.168.20.15:8004 
    192.168.20.15:8005 192.168.20.15:8006 --cluster-replicas 1

    执行后,slots和主从节点信息如下(8001(主)和8004(从)、8002(主)和8005(从)、8003(主)和8006(从)):

     10、询问是否确认上面的配置,输入 yes,会打印如下信息:

     自此集群搭建就完成了

    普通模式

    1、普通模式进入redis客户端(-a是密码,-p是端口,如果是远程连接,得加上-h)

    ./src/redis-cli -a 123456 -p 8001

    2、执行set命令,发现报错(意思其实就是 a 对应的slot为15495,只能在8003上执行)

     3、切到8003上再执行set命令,执行成功

    集群模式

    1、普通模式执行命令可能slot不正确导致命令不能执行,所以可以切到集群模式执行(加一个 -c 选项)。

    ./src/redis-cli -c -a 123456 -p 8001

    2、在8001上执行set命令,发现可以执行成功

    其它命令

    1、查看key为a的slot值

    cluster keyslot a

    2、查看slot信息

    cluster slots

     3、查看集群信息:

    cluster info

     4、集群帮助命令

    redis-cli --cluster help
    知识改变世界
  • 相关阅读:
    win10一键访问更改适配器的方法
    windows server 2019 hyper-v+zabbix3.4
    Hyper-V 配置虚拟网络
    ros routeros pppoe一直拨号获取到不一样的IP为止。
    usb3.0 3.1 3.2的区别和联系
    西部数据绿盘、蓝盘、黑盘、红盘和紫盘的区别
    Ros-routeros winbox for win,mac,android,ios客户端大全
    《高效能人士的七个习惯》:好的时间管理,每天只做6件事
    快速了解C# 8.0中“可空引用类型(Nullable reference type)”语言特性
    Kubernetes中分布式存储Rook-Ceph的使用:一个ASP.NET Core MVC的案例
  • 原文地址:https://www.cnblogs.com/xuwenjin/p/14356804.html
Copyright © 2020-2023  润新知