暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

redis集群方式部署

运维DevOps 2023-06-26
5
集群正常工作至少需要3个主节点,本例子创建6个节点,三个主节点三个从节点,对应IP和端口如下:
IP
端口
redis版本
10.9.2.29
7000
7.0.11
10.9.2.29
7001
7.0.11
10.9.2.29
7002
7.0.11
10.9.2.247
7003
7.0.11
10.9.2.247
7004
7.0.11
10.9.2.247
7005
7.0.11
1、首先两台机器通过编译方式安装redis,参考链接:
redis编译安装
2、登录10.9.2.29机器,进入redis路径,创建集群目录和端口目录,如下:
    cd usr/local/redis-7.0.11
    mkdir -p redis_cluster/{7000,7001,7002}
    10.9.2.247机器同样操作,端口文件夹变为7003、7004、7005

      cd usr/local/redis-7.0.11
      mkdir -p redis_cluster/{7003,7004,7005}
      3、将配置文件复制到对应的端口文件夹中,并修改名字,如下:
        cp redis.conf redis_cluster/7000/redis_7000.conf #10.9.2.29机器
        cp redis.conf redis_cluster/7001/redis_7001.conf #10.9.2.29机器
        cp redis.conf redis_cluster/7002/redis_7002.conf #10.9.2.29机器
        cp redis.conf redis_cluster/7003/redis_7003.conf #10.9.2.247机器
        cp redis.conf redis_cluster/7004/redis_7004.conf #10.9.2.247机器
        cp redis.conf redis_cluster/7005/redis_7005.conf #10.9.2.247机器
        4、修改上面文件夹中的配置文件,6个配置文件都要修改,如下:
          bind 0.0.0.0
          # 改为对应的端口号
          port 7000
          # 后台启动
          daemonize yes
          #保护模式
          protected-mode no
          # 开启集群
          cluster-enabled yes
          #集群节点配置文件
          cluster-config-file nodes-7000.conf
          # 集群连接超时时间
          cluster-node-timeout 5000
          # 进程pid的文件位置
          pidfile /var/run/redis-7000.pid
          # 开启aof
          appendonly yes
          # aof文件路径
          appendfilename "appendonly-7000.aof"
          # rdb文件路径
          dbfilename dump-7000.rdb
          5、启动两台机器的6个redis,如下:
            /usr/bin/redis-server redis_cluster/7000/redis_7000.conf
            /usr/bin/redis-server redis_cluster/7001/redis_7001.conf
            /usr/bin/redis-server redis_cluster/7002/redis_7002.conf
            /usr/bin/redis-server redis_cluster/7003/redis_7003.conf
            /usr/bin/redis-server redis_cluster/7004/redis_7004.conf
            /usr/bin/redis-server redis_cluster/7005/redis_7005.conf
            6、上面命令只是启动6个redis,还未将其关联一起,执行命令创建集群,关联redis,如下:
              redis-cli --cluster create --cluster-replicas 1 10.9.2.29:7000 10.9.2.29:7001 10.9.2.29:7002 10.9.2.247:7003 10.9.2.247:7004 10.9.2.247:7005
              提示Can I set the above configuration? (type ‘yes’ to accept): 的时候选择yew,创建完如图:
              查看集群状态信息,如图:
              7、测试:
              首先在10.9.2.29机器通过如下命令连接到集群,然后设置key和获取key,如下:
                redis-cli -c -p 7000 #必须加-c参数,否则执行set命令报错(error) MOVED 15495 10.9.2.29:7001
                set hello world
                登录10.9.2.247的任意一个redis,查询key对应的值,如图:
                通过info命令也可以当前redis节点的信息,包括主从信息,如图:
                8、给集群设置密码认证,如下:
                上面集群默认是没有设置密码的,一般使用的时候都是需要设置密码的,方法如下:
                (1)、修改每个Redis的配置文件,设置两个密码位置,如下:
                  masterauth "password"
                  requirepass "password"
                  (2)、重启每个redis节点,然后通过密码登录集群,如下:
                    redis-cli -p 7000 -c -a Abcd1234
                    (3)、然后执行set和get即可
                    注意:如果登录的时候不指定-a ,那么登录后使用auth认证后再使用set命令还是提示要认证

                    文章转载自运维DevOps,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论