相关介绍:Redis从3.0版本开始支持集群!

      集群一般由多个节点组成,节点数量至少6个才能保证组成完整高可用的集群。

      每个节点需要开启配置文件中的cluster-enabled yes,让Redis运行在集群模式下。

     

测试环境:资源有限,这里使用3台虚拟机模拟6个节点(用端口区分),每台虚机2个节点,如下图:

      

     注意:Redis默认端口:6379,这里方便起见,设定从7001~7006来区分6个节点。

操作步骤:

      Redis下载官网:https://redis.io/

  1. 节点准备

   每台机器都先编译安装Redis (经测试,redis-3.2.9 集群搭建方法一样)

    [root@server-1 ~]# tar  zxvf  redis-4.0.1.tar.gz

    [root@server-1 ~]# cd redis-4.0.1

    [root@server-1 redis-4.0.1]# make && make install    //不需要configure,直接make,别忘了系统先装好gcc

    [root@server-1 redis-4.0.1]# redis-server  -v    //检查一下版本

    

    server-2和server-3操作同上;

  2. 配置每个节点

     在server-1上:

    [root@server-1 redis-4.0.1]# mkdir -p /opt/redis-cluster/{7001,7004}  //在/opt目录下新建一个redis-cluster文件夹,并在里面新建2个文件夹,用来区分节点

    [root@server-1 redis-4.0.1]# cp redis.conf /opt/redis-cluster/7001/redis-7001.conf

    [root@server-1 redis-4.0.1]# vim /opt/redis-cluster/7001/redis-7001.conf    //必要需要修改如下,其他细化优化的配置项可暂时保持默认

      bind 192.168.1.21             #本机IP

      port 7001                   #改为设定的端口

      daemonize yes                    #后台启动

      cluster-enabled yes          #启动集群模式

      cluster-config-file nodes-7001.conf  #集群内部配置文件,改掉端口号 

      cluster-node-timeout 15000     #节点超时时间,单位:毫秒   

    [root@server-1 redis-4.0.1]# cp redis.conf /opt/redis-cluster/7004/redis-7004.conf

    [root@server-1 redis-4.0.1]# vim /opt/redis-cluster/7004/redis-7004.conf

      bind 192.168.1.21             #本机IP

      port 7004                   #改为设定的端口

      daemonize yes                    #后台启动

      cluster-enabled yes          #启动集群模式

      cluster-config-file nodes-7004.conf  #集群内部配置文件,改掉端口号 

      cluster-node-timeout 15000     #节点超时时间,单位:毫秒

     在server-2上:

    [root@server-2 redis-4.0.1]# mkdir -p /opt/redis-cluster/{7002,7005}

    ......参考server-1......    

     在server-3上:

    [root@server-3 redis-4.0.1]# mkdir -p /opt/redis-cluster/{7003,7006}

    ......参考server-1......

  3. 启动每个节点

     在server-1上:

    [root@server-1 redis-4.0.1]# redis-server /opt/redis-cluster/7001/redis-7001.conf

    [root@server-1 redis-4.0.1]# redis-server /opt/redis-cluster/7004/redis-7004.conf

     在server-2上:

    [root@server-1 redis-4.0.1]# redis-server /opt/redis-cluster/7002/redis-7002.conf

    [root@server-1 redis-4.0.1]# redis-server /opt/redis-cluster/7005/redis-7005.conf

     在server-3上:

    [root@server-1 redis-4.0.1]# redis-server /opt/redis-cluster/7003/redis-7003.conf

    [root@server-1 redis-4.0.1]# redis-server /opt/redis-cluster/7006/redis-7006.conf

    

  4. redis-trib.rb环境准备(该文件存在于redis-4.0.1/src/目录中)    //只需要在其中一台上执行此步骤!!

      redis-trib.rb是采用Ruby实现的Redis集群管理工具。内部通过Cluster相关命令帮助

    我们简化集群创建、检查、槽迁移和均衡等常见操作,使用之前需要安装Ruby依赖环境。

    注:以下安装Ruby的方法如果觉得麻烦,可以参考另一篇文章:centos7/rhel7安装较高版本ruby2.2/2.3/2.4+

   ①安装Ruby

    ~]# wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gz

    ~]# tar zxvf  ruby-2.3.5.tar.gz

    ~]# cd ruby-2.3.5

    ruby-2.3.5]# ./configure  --prefix=/opt/ruby

    ruby-2.3.5]# make && make install

    ruby-2.3.5]# ln -s /opt/ruby/bin/ruby /usr/bin/ruby

    ruby-2.3.5]# ln -s /opt/ruby/bin/gem /usr/bin/gem

    ~]#ruby -v    //查看一下

    

   ②安装rubygem redis依赖

    ~]# wget http://rubygems.org/downloads/redis-3.3.0.gem

    ~]# gem install -l redis-3.3.0.gem

    

   ③检查redis-trib.rb的可用性

    ~]# ./redis-4.0.1/src/redis-trib.rb    //如下图所示代表可用了

    

  5. 创建集群

    只需要执行一条长命令,如下:

    ~]#./redis-4.0.1/src/redis-trib.rb create  --replicas 1 192.168.1.21:7001 192.168.1.22:7002 192.168.1.23:7003 192.168.1.21:7004 192.168.1.22:7005 192.168.1.23:7006

    说明:--replicas参数指定集群中每个主节点配备几个从节点,这里设置为1。

       这里因为测试,只用了3台机器,如果部署节点使用不同的IP地址,redis-trib-rb会尽可能保证主从节点不分配在同一台机器下,

       因此会重新排序节点表顺序。节点列表顺序用于确定主从角色,先主节点之后是从节点。

       创建过程中首先会给出主从节点角色分配的计划,如下图:

    

    最后的输出报告说明:16384个槽全部被分配完,集群创建成功。

    这里需要注意给redis-trib.rb的节点地址必须是不包含任何槽/数据的节点,否则会拒绝创建集群。

  6. 集群完整性检查

      集群完整性指所有的槽都分配到存活的主节点上,只要16384个槽中有一个没有分配给节点则表示集群不完整。

    可以用redis-trib.rb check命令检测之前创建的集群是否成功,check命令只需要给出集群中任意一个节点地址就可以

    完成整个集群的检查工作,命令使用如下所示:

    [root@server-1 ~]# ./redis-4.0.1/src/redis-trib.rb check 192.168.1.22:7002

    

结束.

centos7/rhel7下安装redis4.0集群相关推荐

  1. centos redis验证_centos7下安装redis-4.0.2

    本篇文章主要介绍在centos7 环境下安装redis-4.0.2. 下载redis安装包 wget http://download.redis.io/releases/redis-4.0.2.tar ...

  2. 在CentOS7.6下搭建Oracle19c RAC集群

    在CentOS7.6下搭建Oracle19c RAC集群 1.准备阶段 1.1 虚拟环境准备 1.2 Oracle版本包准备 2.服务器配置阶段 2.1.配置IP 2.2.停止不相关服务 2.3.配置 ...

  3. CentOS7下安装Redis伪集群(基于Redis官方Cluster集群模式版本redis-5.0.10)

    文章目录 Redis简介 什么是redis redis的优点 Redis集群都有哪些模式 主从复制(Master-Slave Replication) 哨兵模式(Sentinel) Redis官方 C ...

  4. centos 下安装mysql,linux(Centos7)下安装mysql8.0.18的教程图解

    1 获取安装资源包 mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar 提取码: rsif 2 在/usr/local目录下新建目录mysql8 3 将下载的资源包(my ...

  5. 3.5.CentOS7下安装配置Zookeeper集群与一键启动小脚本

    python编程快速上手(持续更新中-) 推荐系统基础 文章目录 python编程快速上手(持续更新中-) 推荐系统基础 一.事前准备 1.VMware下CentOS7虚拟机(三台) 2.Zookee ...

  6. CentOS7下安装配置zookeeper集群及设置开机自启

    1.在做zookeeper集群之前需要有至少三台centos机器或虚拟机 一.Zookeeper原理简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程 ...

  7. 在Centos7环境下进行搭建postgresql-xl集群环境

    本次使用环境centos7, 共3台服务器,基础配置采用4核4G内存200G机械硬盘 在初装系统机器中开始进行以下操作 使用root账号开始进行以下操作 目前安装的xl兼容版本为postgresql1 ...

  8. Linux下安装搭建Memcached集群环境

    由于项目需要,需要搭建memcached集群环境,遂开始调研相关技术 网络上有不少linux下安装memcached的教程,对于我这个linux零基础的来说,想立马在linux下安装memcached ...

  9. FreeBSD下安装配置Hadoop集群(三)

    先给自己做个广告: 开源Hive管理工具phpHiveAdmin今日更新0.05 beta2 ChangeLog: 1. sql查询页全部重写,复杂查询现在可以用异步非阻塞的方式实时的查看map/re ...

最新文章

  1. python在财务上的应用-财会人必看:这个工具,30分钟可以把人家一天的工作都给干完!...
  2. 中国大学最顶尖的学科名单(人民日报整理版)
  3. ubuntu mysql 5.7_Ubuntu 18.04 安装mysql5.7
  4. 浅谈java中extends与implements的区别
  5. matlab二元方程组,用matlab解一个二元方程组,会的进,得到解再回答
  6. 面向对象第二节课,属性,构造方法,成员方法
  7. oracle ash dump 导出,Oracle 导出 ASH的dump信息
  8. c语言输入一个整数打印出它是奇数还是偶数,1. 编写程序,输入一个整数,打印出它是奇数还是偶数....
  9. python人名统计_「姓名分析」Python|美国婴儿姓名分析 - seo实验室
  10. UTC相关的时区转换
  11. 基于Tushare量化分析示例
  12. (初学笔记1)python读多波段遥感影像并存到三维数组中
  13. 群晖日历同步到android,用群晖calander日历做华为手机、ipad、mac三方通讯录和日历同步 2020-12-28...
  14. 多线程_12_优先级
  15. 在html中div水平垂直css,html中div使用CSS实现水平/垂直居中的多种方式
  16. linux之vim下载及编写规则
  17. 案例分享:建设企业网上办公综合平台
  18. gojs实现仿启信宝股权结构关系树图
  19. 2017年11月14日 星期二
  20. 手部姿态检测(按视频段)_v3(hcn)

热门文章

  1. c语言uint8的数组怎么转换为uint32_剖析JS和Redis的数据结构设计:数组
  2. linux内核那些事之物理内存模型之FLATMEM(1)
  3. @RequestBody的与@RequestParam.
  4. ip中继对接_朗视IPPBX为桃源居中澳实验学校打造IP语音校园!
  5. 计算机网络(2)-数据链路层流量控制
  6. 新UI云开发壁纸小程序源码(新修复版带编译教程)
  7. Everything Toolbar – 用 Everything 替换 Win 10 任务栏系统搜索框
  8. Wp keyword link 标签自动内链/文章关键词内链 WordPress插件
  9. android没有输入焦点类控件的输入法调用,Android 手机下输入框获取焦点时, 输入法会挡住输入框...
  10. mysql 连接差异_和你一起从 0 实现一个数据库差异对比工具