1.先安装好单机版的redis

2.Reids安装包里有个集群工具,要复制到/usr/local/bin里去

cd /home/redis/redis-4.0./src

ls -

cp redis-trib.rb /usr/local/bin

cd /usr/local/bin

已经复制进来了。

3.创建节点,修改配置文件:

我们现在要搞六个节点,三主三从,

端口规定分别是7001,7002,7003,7004,7005,7006

我们先在root目录下新建一个redis_cluster目录,然后该目录下再创建6个目录,

分别是7001,7002,7003,7004,7005,7006,用来存在redis配置文件;

这里我们要使用redis集群,要先修改redis的配置文件redis.conf

[root@localhost ~]# mkdir redis_cluster

[root@localhost ~]# cd redis_cluster/

[root@localhost ~]# mkdir      

先复制一份配置文件到7001目录下

[root@localhost redis_cluster]# cd

[root@localhost ~]# cp /home/redis/redis-4.0./redis.conf redis_cluster//

[root@localhost ~]# vim /home/redis_cluster//redis.conf 

修改此配置文件里面的一下几项数值:

#bind 127.0.0.1  #注释掉,使其他机器也可访问

protected-mode no #关闭保护模式

port   #六个节点配置文件分别是7001-

daemonize yes        #redis后台运行

pidfile /var/run/redis_7001.pid   #pidfile文件对应7001-

cluster-enabled yes   #开启集群

cluster-config-file nodes_7001.conf  #保存节点配置,自动创建,自动更新对应7001-

cluster-node-timeout     /#集群超时时间,节点超过这个时间没反应就断定是宕机

7001下的修改完后,我们把7001下的配置分别复制到7002-7006 ,只需修改port 、pidfile、cluster-config-file 即可

4.分别启动上述六个节点

/usr/local/bin/redis-server /home/redis_cluster//redis.conf
/usr/local/bin/redis-server /home/redis_cluster//redis.conf
/usr/local/bin/redis-server /home/redis_cluster//redis.conf
/usr/local/bin/redis-server /home/redis_cluster//redis.conf
/usr/local/bin/redis-server /home/redis_cluster//redis.conf
/usr/local/bin/redis-server /home/redis_cluster//redis.conf

出现以上说明这六个节点已经启动成功,接下来需要创建集群

5.创建集群

这里需要用到第一步复制到usr/local/bin里面的redis-trib.rb工具

创建集群之前需要安装rubby,以及redis和rubby的连接

[root@localhost ~]# yum -y install ruby ruby-devel rubygems rpm-build

[root@localhost ~]# gem install redis

但是用yum安装的话,可能ruby的版本比较低,创建redis集群必须是2.2.2版本以上;

[root@localhost ~]# yum list ruby

卸载ruby

[root@localhost ~]# yum remove ruby  

安装高版本ruby的方法:

换yum源安装

[root@localhost ~]# yum install centos-release-scl-rh    //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
[root@localhost ~]# yum install rh-ruby23 -y    //直接yum安装即可  
[root@localhost ~]# scl enable rh-ruby23 bash    //必要一步
[root@localhost ~]# ruby -v    //查看安装版本

这种方法安装重启centos7服务器后,ruby可能又会变回低版本,那就

改下配置:

[root@localhost ~]# vim /etc/profile

加入下面两行配置信息
source /opt/rh/rh-ruby23/enable export X_SCLS="`scl enable rh-ruby23 'echo $X_SCLS'`"
[root@localhost ~]# source /etc/profile #让配置生效

然后重新启动redis各个节点即可

创建集群命令:

redis-trib.rb create --replicas   192.168.1.4: 192.168.1.4: 192.168.1.4: 192.168.1.4: 192.168.1.4: 192.168.1.4:

注:以上命令必须是对外开放的Ip,不然无法连接redis集群。否则集群配置错误,创建集群时应该使用客户端可以访问到的IP地址(而不是使用127.0.0.1)

以上说明集群已经配置成功!

centos7下的redis集群模式的更多相关文章

  1. linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法

    问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...

  2. Linux下配置Redis集群模式

    配置机器1 在演示中,172.16.179.130为当前ubuntu机器的ip 在172.16.179.130上进⼊Desktop⽬录,创建conf⽬录 在conf⽬录下创建⽂件7000.conf,编 ...

  3. 7.redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?

    作者:中华石杉 面试题 redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗? 面试官心理分析 在前几年, ...

  4. 深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  5. 突破Java面试-Redis集群模式的原理

    1 面试题 Redis集群模式的工作原理说一下?在集群模式下,key是如何寻址的?寻址都有哪些算法?了解一致性hash吗? 2 考点分析 Redis不断在发展-Redis cluster集群模式,可以 ...

  6. Redis集群模式之分布式集群模式

    前言 Redis集群模式主要有2种: 主从集群 分布式集群. 前者主要是为了高可用或是读写分离,后者为了更好的存储数据,负载均衡. 本文主要讲解主从集群.本章主要讲解后一半部分,Redis集群. 与本 ...

  7. Springboot2.x集成Redis集群模式

    Springboot2.x集成Redis集群模式 说明 Redis集群模式是Redis高可用方案的一种实现方式,通过集群模式可以实现Redis数据多处存储,以及自动的故障转移.如果想了解更多集群模式的 ...

  8. 5分钟实现用docker搭建Redis集群模式和哨兵模式

    如果让你为开发.测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短. 是的,你已经猜到了,用docker部署,真的只需要十几分钟. 一.准备工作 拉取 ...

  9. Windows下搭建Redis集群

    Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...

随机推荐

  1. ST表解决RMQ问题

    RMQ问题: RMQ(Range Minimum/Maximum Query),区间最值查询.对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间 ...

  2. BUUCTF-web ikun(Python 反序列化)

    正如本题所说,脑洞有点大.考点还很多,不过最核心的还是python的pickle反序列化漏洞 题目中暗示了要6级号,找了很多页都没看到,于是写了脚本 在第180页有6级号,但是价格出奇的高,明显买不起 ...

  3. python如何支持并发?

    由于GIL(Global Interpreter Lock)的存在使得在同一时刻Python进程只能使用CPU的一个核心,也就是对应操作系统的一个 内核线程,对于一个Python web程序,如果有个 ...

  4. 删除表中重复数据,只删除重复数据中ID最小的

    delete t_xxx_user where recid in ( select recid from t_xxx_user where recid in ( select min(recid) f ...

  5. linux虚拟机正常安装完成后获取不到IP的解决办法-网卡

    通常正常情况下安装完linux虚拟机,只需要使用桥接并修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,将如下参数值改为如下: ONBOOT=yes NM ...

  6. Dom运用1

    1.简单计算器 <!-- 第一个数--> <input type="text"> <!-- 符号复选框--> <select name=& ...

  7. 最长不下降代码dp

    我看以前写过一个最长不下降,但是感觉可能没有那么好理解emmmm 下面这个是从正序寻找的emmmm 先来一个WA代码,我给写了WA的具体行数,看看其他行其实可以看出它的思路 第二个代码是AC的 #in ...

  8. PHP getrandmax() 函数

    实例 返回通过调用 rand() 函数显示的随机数的最大可能值: <?phpecho(getrandmax()); ?>高佣联盟 www.cgewang.com 定义和用法 The get ...

  9. mysql8的深坑

    主要记录下自己的出坑过程,有些其实并不是mysql8的问题,但是由于这个版本产生的阻塞时间最长,所以一并记录: 1-项目代码别人能运行,我本地运行不了 定位后发现是由于本地代码运行数据库连接失败,后来 ...

  10. 每日一道 LeetCode (5):最长公共前缀

    前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee: https://gitee.com ...