• Redis-Cluster集群的部署(详细步骤)


    一、环境准备

    本次实操为三台机器,关闭防火墙和selinux

    注:规划架构两种方案,一种是单机多实例,这里我们采用多机器部署
    三台机器,每台机器上面两个redis实例,一个master一个slave,第一列做主库,第二列做备库
    #记得选出控制节点

    制作解析并相互做解析:/etc/hosts

    redis-cluster1 192.168.85.135   7000、7001
    redis-cluster2 192.168.85.129   7002、7003
    redis-cluster3 192.168.85.138   7004、7005

    每台机器安装好redis(先不要启动,后面还需要配置文件):详细步骤参考本人的上个博客

    非关系型数据库Redis的安装_是胡也是福的博客-CSDN博客

    二、部署步骤
    1、创建集群目录并比编辑配置文件
    1. [root@redis-cluster1 redis]# pwd
    2. /data/application/redis
    3. [root@redis-cluster1 redis]# mkdir cluster #创建集群目录
    4. [root@redis-cluster1 redis]# cd cluster/
    5. [root@redis-cluster1 cluster]# mkdir 7000 7001 #创建节点目录
    6. [root@redis-cluster2 redis]# pwd
    7. /data/application/redis
    8. [root@redis-cluster2 redis]# mkdir cluster #创建集群目录
    9. [root@redis-cluster2 redis]# cd cluster/
    10. [root@redis-cluster2 cluster]# mkdir 7002 70013#创建节点目录
    11. [root@redis-cluster3 redis]# pwd
    12. /data/application/redis
    13. [root@redis-cluster3 redis]# mkdir cluster #创建集群目录
    14. [root@redis-cluster3 redis]# cd cluster/
    15. [root@redis-cluster3 cluster]# mkdir 7004 7005 #创建节点目录
    2、修改配置文件

    3、修改其中的一些配置如下:
    1. bind 192.168.85.135 #每个实例的配置文件修改为对应节点的ip地址
    2. port 7000 #监听端口,运行多个实例时,需要指定规划的每个实例不同的端口号
    3. daemonize yes #redis后台运行
    4. pidfile /var/run/redis_7000.pid #pid文件,运行多个实例时,需要指定不同的pid文件
    5. logfile /var/log/redis_7000.log #日志文件位置,运行多实例时,需要将文件修改的不同。
    6. dir /data/application/redis/data #存放数据的目录
    7. appendonly yes #开启AOF持久化,redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态。
    8. appendfilename "appendonly.aof" #AOF文件名称
    9. appendfsync everysec #表示对写操作进行累积,每秒同步一次
    10. 以下为打开注释并修改
    11. cluster-enabled yes #启用集群
    12. cluster-config-file nodes-7000.conf #集群配置文件,由redis自动更新,不需要手动配置,运行多实例时请注修改为对应端口
    13. cluster-node-timeout 5000 #单位毫秒。集群节点超时时间,即集群中主从节点断开连接时间阈值,超过该值则认为主节点不可以,从节点将有可能转为master
    14. cluster-replica-validity-factor 10 #在进行故障转移的时候全部slave都会请求申请为master,但是有些slave可能与master断开连接一段时间了导致数据过于陈旧,不应该被提升为master。该参数就是用来判断slave节点与master断线的时间是否过长。(计算方法为:cluster-node-timeout * cluster-replica-validity-factor,此处为:5000 * 10 毫秒)
    15. cluster-migration-barrier 1 #一个主机将保持连接的最小数量的从机,以便另一个从机迁移到不再被任何从机覆盖的主机
    16. cluster-require-full-coverage yes #集群中的所有slot(16384个)全部覆盖,才能提供服务
    17. #注:
    18. 所有节点配置文件全部修改切记需要修改的ip、端口、pid文件...避免冲突。确保所有机器都修改
    4、修改完一份后用scp命令传给其他机器(同样的操作注意系应该个别端口与ip即可)

    5、启动并查看进程(其他几台也一样)
    1. [root@redis-cluster1 src]# nohup ./redis-server ../cluster/7001/redis.conf &
    2. [root@redis-cluster1 src]# netstat -tanlp |grep redis

    6、加入集群

    ./redis-cli --cluster create --cluster-replicas 1 192.168.85.135:7000 192.168.85.135:7001 192.168.85.129:7002 192.168.85.129:7003 192.168.85.138:7004 192.168.85.138:7005

    6、加入数据并用其他机器的进行查看

    完成!!!

  • 相关阅读:
    第五章 树
    Flume安装部署
    数据库分库分表的原则
    杨氏干涉实验
    2022华数杯华数杯A题 B题 C题 思路、程序
    「大数据-2.0」安装Hadoop和部署HDFS集群
    为了工作刷题
    3.Android高仿网易云音乐-首页复杂发现界面布局和功能/RecyclerView复杂布局
    django配置静态文件
    元组啊,不就是不可变的列表吗?
  • 原文地址:https://blog.csdn.net/qq_45919082/article/details/132623928