一、首先把单节点的redis缓存文件全部删除

Redis九(redis的集群安装)
Redis九(redis的集群安装)

二、建立三个连接,master、note1、note2

Redis九(redis的集群安装)

1.将redis文件复制到note1和note2

Redis九(redis的集群安装)

2.创建安装目录 在master ,node1 ,node2中分别创建

在此位置输入命令,回车,意味着在当前显示的会话中都执行
mkdir /usr/local/soft/redis-cluster
Redis九(redis的集群安装)

三、在master中将redis 复制到redis-cluster 目录下修改名字为7000

  • 复制
    cp -r /usr/local/soft/redis /usr/local/soft/redis-cluster
    Redis九(redis的集群安装)
  • 改名
    mv /usr/local/soft/redis-cluster/redis /usr/local/soft/redis-cluster/7000
    Redis九(redis的集群安装)

四、修改配置文件 vim redis.conf

快速查找:=》esc=》/xxxxx=>回车
Redis九(redis的集群安装)

  • daemonize yes //redis后台运行
  • pidfile /var/run/redis_7000.pid //pidfile文件对应7000
  • port 7000 //端口7000
  • cluster-enabled yes //开启集群 把注释#去掉
  • cluster-config-file nodes.conf //集群的配置 配置文件首次启动自动生成
  • cluster-node-timeout 5000 //请求超时 设置5秒够了
  • appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志 (全持久化)

注意:操作时,要把前面的注解#删了,保证圈出来的都应该显示白色
Redis九(redis的集群安装)
Redis九(redis的集群安装)
Redis九(redis的集群安装)

Redis九(redis的集群安装)

Redis九(redis的集群安装)

五、复制7000,建立六个节点,三主三从

六个
Redis九(redis的集群安装)

六、将7001到7005的端口号进行更改

Redis九(redis的集群安装)
Redis九(redis的集群安装)
Redis九(redis的集群安装)
Redis九(redis的集群安装)
Redis九(redis的集群安装)

七、将7002 ,7003 复制到node1

scp -r /usr/local/soft/redis-cluster/7002 note1:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7003 note1:/usr/local/soft/redis-cluster/
Redis九(redis的集群安装)
Redis九(redis的集群安装)

八、将7004 ,7005 复制到node2

scp -r /usr/local/soft/redis-cluster/7004 note2:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7005 note2:/usr/local/soft/redis-cluster/
Redis九(redis的集群安装)
Redis九(redis的集群安装)
复制成功后,master中可删可不删
Redis九(redis的集群安装)

九、分别在master、note1、note2 中启动各节点

  • 1、在master中执行
    cd /usr/local/soft/redis-cluster/7000/bin
    ./redis-server redis.conf
    cd /usr/local/soft/redis-cluster/7001/bin
    ./redis-server redis.conf

  • 2、在note1中执行
    cd /usr/local/soft/redis-cluster/7002/bin
    ./redis-server redis.conf
    cd /usr/local/soft/redis-cluster/7003/bin
    ./redis-server redis.conf

  • 3、在note2中执行
    cd /usr/local/soft/redis-cluster/7004/bin
    ./redis-server redis.conf
    cd /usr/local/soft/redis-cluster/7005/bin
    ./redis-server redis.conf
    Redis九(redis的集群安装)
    Redis九(redis的集群安装)
    Redis九(redis的集群安装)
    此时,集群还未搭建完成,只是将各节点启动

十、通过工具构建集群 在master中安装

yum -y install ruby ruby-devel rubygems rpm-build
Redis九(redis的集群安装)

十一、上传redis-3.0.0.gem

  • redis-trib.rb:官方提供的管理工具,支持许多集群的操作,要想使用需安装redis-3.0.0依赖
    redis-3.0.0.gem

Redis九(redis的集群安装)
在soft文件下执行安装
Redis九(redis的集群安装)
安装好后,将redis-3.0.0/src/redis-trib.rb复制到bin目录下,因为放在/usr/local/bin/ 目录下的命令可以在任何一个位置运行
Redis九(redis的集群安装)

十二、启动集群

  • replicas 每一个主节点的备份节点数量,这里为1
  • 地址必须要给ip不能给映射

redis-trib create --replicas 1 192.168.154.110:7000 192.168.154.110:7001 192.168.154.111:7002 192.168.154.111:7003 192.168.154.112:7004 192.168.154.111:7005


  • 注意:可能出现的问题
    Redis九(redis的集群安装)
    是因为配置redis.conf时出错,没有把注解放开
  • 解决方法:核对每一个节点的配置,之后杀死进程,重启redis

重新运行启动集群的代码

Redis九(redis的集群安装)

  • 由图可以看到自动分配主从节点
  • 当主节点崩溃时,从节点会变为主节点
  • 当原先主节点重新启动时,主节点仍然是之前替代的从节点,原先的主节点变为从节点

Redis九(redis的集群安装)

  • 此处代表每个节点存放的键的hash值,要根据key存入入对应的节点
  • 出现此图代表集群搭建启动成功

十三、客户端访问reids集群

访问节点

  • reids-cli -p 端口号 -h 节点ip -c 自动重定向,如果该节点不能执行操作,重定向切换到其他节点执行
  • reids-cli -p 端口号 -h 节点ip 只访问该节点
    Redis九(redis的集群安装)
    会出错,因为b的哈希值不在7000节点的范围内,加上-c重定向便可以存入

Redis九(redis的集群安装)
也可以看到,重定向到7004节点里,由访问的7000节点,变为7004节点


Redis九(redis的集群安装)
获取值时,有根据重定向,切换到7000


查看集群信息

  • cluster info
    Redis九(redis的集群安装)

查看主从节点信息

  • cluster nodes
    Redis九(redis的集群安装)

测试:

在note1的会话中把7002主节点杀死
Redis九(redis的集群安装)
在master会话中,再次查看节点,7002的从节点7005变为主节点

Redis九(redis的集群安装)
在note1中再启动7002
Redis九(redis的集群安装)
再次查看节点信息,7002变为了从节点,7005仍然为主节点
Redis九(redis的集群安装)

相关文章:

  • 2021-03-31
  • 2021-08-15
  • 2021-06-17
  • 2022-01-08
猜你喜欢
  • 2021-07-20
  • 2022-12-23
  • 2022-02-24
  • 2019-07-02
相关资源
相似解决方案