Redis集群部署

分手后的思念是犯贱 2023-06-23 04:52 71阅读 0赞

Redis集群特性:

redis集群方式支持主从自动切换

redis集群只有一个库,单例或者主从的话有多个库

redis集群去中心化,只要通过其中一个入口连接即可

实验环境

  1. 主机名 IP 端口
  2. node1 192.168.14.210 70018001
  3. node2 192.168.14.211 70028002
  4. node3 192.168.14.212 70038003

一、安装Redis

1、关闭防火墙和selinux

  1. [root@node1 ~]# systemctl stop firewalld
  2. [root@node1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

2、下载redis

  1. [root@node1 ~]# wget http://download.redis.io/releases/redis-5.0.7.tar.gz

3、安装编译依赖环境

  1. [root@node1 ~]# yum install -y wget gcc gcc-c++ make tar openssl openssl-devel cmake

4、编译安装

  1. [root@node1 ~]# tar -zxvf redis-5.0.7.tar.gz -C /usr/local/
  2. [root@node1 ~]# cd /usr/local/redis-5.0.7/
  3. [root@node1 redis-5.0.7]# make && make install

node2和node3操作同上一致,此处省略

二、Redis集群部署

redis自带集群搭建,一般使用三主三从来构建,演示主使用7000 7001 7002,从使用8000 8001 8002

1、创建自定义配置文件存放目录

  1. [root@node1 ~]# mkdir -p /usr/local/redis/cluster

2、拷贝配置文件

  1. [root@node1 ~]# cp /usr/local/redis-5.0.7/redis.conf /usr/local/redis/cluster/redis_7001.conf
  2. [root@node1 ~]# cp /usr/local/redis-5.0.7/redis.conf /usr/local/redis/cluster/redis_8001.conf

3、创建数据存放路径,修改属主和属组

  1. [root@node1 ~]# useradd redis
  2. [root@node1 ~]# chown -R redis:redis /usr/local/redis
  3. [root@node1 ~]# mkdir -p /data/redis/cluster/{redis_7001,redis_8001}
  4. [root@node1 ~]# chown -R redis:redis /data/redis

4、修改配置文件

  1. [root@node1 ~]# cat /usr/local/redis/cluster/redis_7001.conf
  2. bind 192.168.14.210
  3. port 7001
  4. daemonize yes
  5. pidfile "/var/run/redis_7001.pid"
  6. logfile "/usr/local/redis/cluster/redis_7001.log"
  7. dir "/data/redis/cluster/redis_7001"
  8. #replicaof 192.168.14.210 6379
  9. masterauth 123456
  10. requirepass 123456
  11. appendonly yes
  12. cluster-enabled yes
  13. cluster-config-file nodes_7001.conf
  14. cluster-node-timeout 15000
  15. [root@node1 ~]# cat /usr/local/redis/cluster/redis_8001.conf
  16. bind 192.168.14.210
  17. port 8001
  18. daemonize yes
  19. pidfile "/var/run/redis_8001.pid"
  20. logfile "/usr/local/redis/cluster/redis_8001.log"
  21. dir "/data/redis/cluster/redis_8001"
  22. #replicaof 192.168.14.210 6379
  23. masterauth 123456
  24. requirepass 123456
  25. appendonly yes
  26. cluster-enabled yes
  27. cluster-config-file nodes_8001.conf
  28. cluster-node-timeout 15000

node2和node3操作基本同上,只是端口需要修改,此处省略

5、三台主机启动redis

  1. #node1
  2. [root@node1 ~]# redis-server /usr/local/redis/cluster/redis_7001.conf
  3. [root@node1 ~]# redis-server /usr/local/redis/cluster/redis_8001.conf
  4. #node2
  5. [root@node2 ~]# redis-server /usr/local/redis/cluster/redis_7002.conf
  6. [root@node2 ~]# redis-server /usr/local/redis/cluster/redis_8002.conf
  7. #node3
  8. [root@node3 ~]# redis-server /usr/local/redis/cluster/redis_7003.conf
  9. [root@node3 ~]# redis-server /usr/local/redis/cluster/redis_8003.conf

6、启动集群

  1. [root@node1 ~]# redis-cli -a 123456 --cluster create 192.168.14.210:7001 192.168.14.210:8001 192.168.14.211:7002 192.168.14.211:8002 192.168.14.212:7003 192.168.14.212:8003 --cluster-replicas 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RsYWRhZ2lv_size_16_color_FFFFFF_t_70

三、验证集群

1、连接任意一台客户端即可

  1. [root@node1 ~]# redis-cli -c -h 192.168.14.210 -p 7001 -a 123456

提示:-a访问服务端密码,-c表示集群模式,指定ip地址和端口号

2、查看集群状态(主从关系)

  1. 192.168.14.210:7001> CLUSTER NODES

20191218100717137.png

3、查看集群信息

  1. 192.168.14.210:7001> CLUSTER INFO

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RsYWRhZ2lv_size_16_color_FFFFFF_t_70 1

4、在node1写入数据,在node2能查询到数据;

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RsYWRhZ2lv_size_16_color_FFFFFF_t_70 2

另外,集群数据被分为三份,采用哈希槽 (hash slot)的方式来分配16384个slot的话,它们三个节点分别承担的slot 区间是:

  1. 节点node1覆盖05460
  2. 节点node2覆盖546110922
  3. 节点node3覆盖1092316383

#

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读

    相关 redis部署

    一、概述     Redis3.0版本之后支持Cluster. 1.1、redis cluster的现状    目前redis支持的cluster特性:   1):节点

    相关 redis部署

    本节着重讲解redis集群部署,如未清楚单节点部署的请浏览本人的关于单节点部署的文章。 地址:[https://blog.csdn.net/wohiusdashi/artic