此文为另外一位大神原创由于没有找到分享功能  粘贴复制到此  原地址为https://blog.csdn.net/u012042021/article/details/72818759

一、同机器下的集群搭建:

1,创建redis实例统一存放的文件夹——在/usr/local路径下创建cluster文件夹,命令:mkdir cluster

2,创建每个实例单独存放的文件夹——在cluster文件夹下创建6个文件夹,分别为7001,7002,7003,7004,7005,7006,

命令:mkdir 7001 7002 7003 7004 7005 7006

3,将下载的redis-3.2.8.tar.gz上传到虚拟机的/usr/local/redis(前提先建一个redis)下,并解压,命令:tar –zxvf redis-3.2.8.tar.gz,得到redis-3.2.8包

4,安装gcc,执行yum -y install gcc gcc-c++ libstdc++-devel和make CFLAGS="-march=x86-64"两次输入y继续安装,安装完成后然后进入redis-3.2.8包,执行make  install   PREFIX=/usr/local/redis2命令

5,进入cd /usr/local/redis2c,复制bin文件夹到之前创建的6个包下面(/usr/local/cluster/700*),

如:cp -r bin /usr/local/cluster/7001

复制redis-3.2.8下的redis.conf到/usr/local/cluster下面,并进入该目录

6,修改redis.conf文件,修改内容如下

1)屏蔽限制本地访问,在bind 127.0.0.1之前加#(同机器下,可能不需要改,未做测试)

2)protected-mode后的yes改为no

3)daemonize后的no改为yes

4)去掉cluster-enabled yes前面的#(按Esc键退出i编辑模式,输入/,再输入cluster-enabled,回车,就可以快速找到)

5)去掉#方法同4)

6)  port后的端口号改6次,每次都改成与之前创建的6个包名一致,如7001,每改一次,将redis.conf文件,复制到对应的包下,如7001(端口只要不冲突可以随便改,这里 为了方便管理改成和包名一致)

7,分别启动6个redis实例,并查看

   8,进入cd /usr/local/redis/redis-3.2.8/src下,执行./redis-trib.rb  create  --replicas  1   127.0.0.1:7001  127.0.0.1:7002 127.0.0.1:7003  127.0.0.1:7004  127.0.0.1:7005  127.0.0.1:7006,报了一个错,如下

需要安装:

1)ruby的环境,执行命令:yum install ruby

2)rubygems组件,执行命令:yum install rubygems

3)redis和ruby的接口,执行命令:gem install redis

如果报node 192.168.133.xx:7001 is not empty之类的错误说明集群未正确关闭或是存有日志文件则

针对错误信息执行集群修复命令:./redis-trib.rb fix 192.168.133.128:7001

9,安装完成后再次执行,启动命令,并输入yes并回车

10,启动成功

11,做下测试,随便进入一个redis实例,如进入cd /usr/local/cluster/7001下执行./bin/redis-cli -c -p 7001

二、不同机器下的集群搭建:

注意: redis的安装步骤与同机器下一致,这里只讲解个别不同配置的修改

1,首先另外创建三个虚拟机(这里为方便演示只创建3个)

2,每台都设置固定ip  (不会设置,可以参考:http://blog.csdn.net/u012042021/article/details/72781888)

node1设为192.168.133.128;

node2设为192.168.133.129;

node3设为192.168.133.130

3,每台都创建好两个redis实例(与同机器一样),分别为:

node1下7001、7002;

node2下7003、7004;

node3下7005、7006

4,分别修改这3台机器下对应的2个redis实例的redis.conf文件绑定对应机器的ip,如node1下的两个redis配置改成 bind 192.168.133.128,保存退出

注意:改好之后,要关闭每台虚拟机的防火墙,执行命令:service iptables stop——立即生效,永久关闭防火墙执行命令:chkconfig iptables off——重启生效

5,分别启动这6个实例

node1:

node2:

node3:

    6,进入node2 (随便那台都行) cd /usr/local/redis/redis-3.2.8/src下(你的解压目录),执行
./redis-trib.rb  create  --replicas  1   192.168.133.128:7001  192.168.133.128:7002 192.168.133.129:7001  192.168.133.129:7002  192.168.133.130:7001  192.168.133.130:7002

7,所有组件都按同机器下安装一致,仍然报了一个错

8,解决方法有两种,官方推荐使用第二种:

1)分别删除实例包下的三个文件,再重新启动

2)针对错误信息执行集群修复命令:./redis-trib.rb fix 192.168.133.128:7001

启动与同机器一致

9,测试,随便进入一台机器,如node3,随便进入一个redis实例,如7002,

进行set、get测试

再进入另一台机器,如node1,检查get

10,结束,多谢大家阅读。

同机器与不同机器redis集群的更多相关文章

  1. 单个机器部署redis集群模式(一键部署脚本)

    一.检查机器是否安装gcc.unzip.wget 二.部署模式 #模式1: 将所有主从节点以及sentinel节点部署在同一台机器上 #模式2: 将一个数据节点和一个sentinel节点部署在一台机器 ...

  2. redis集群在线迁移第二篇(redis迁移后调整主从关系,停掉14机器上的所有从节点)-实战二

    变更需求为: 1.调整主从关系,所有节点都调整到10.129.51.30机器上 2.停掉10.128.51.14上的所有redis,14机器关机 14机器下线迁移至新机房,这段时间将不能提供服务. 当 ...

  3. redis集群搭建(简单简单)一台机器多redis

      redis集群搭建 在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程 下载redis压缩包,然后解压压缩文件: 进入到解压缩后的redis文件目录(此时可以看到Makef ...

  4. Redis集群搭建与简单使用

    介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 ...

  5. Redis集群(九):Redis Sharding集群Redis节点主从切换后客户端自动重新连接

    上文介绍了Redis Sharding集群的使用,点击阅读 本文介绍当某个Redis节点的Master节点发生问题,发生主从切换时,Jedis怎样自动重连新的Master节点 ​一.步骤如下: 1.配 ...

  6. Redis集群研究和实践(基于redis 3.0.5)

    前言 redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用.现在的2.x的稳定版本是2.8.19,也是我们项目中普遍用到的版本. redis在年初发布了3.0. ...

  7. Redis集群搭建1

    wget .168.0.201:6379 192.168.0.201:6380 192.168.0.201:6381 192.168.0.202:16379 192.168.0.202:16380 1 ...

  8. Redis集群最佳实践

    今天我们来聊一聊Redis集群.先看看集群的特点,我对它的理解是要需要同时满足高可用性以及可扩展性,即任何时候对外的接口都要是基本可用的并具备一定的灾备能力,同时节点的数量能够根据业务量级的大小动态的 ...

  9. Redis 集群的合纵与连横

    之前一篇写了关于 Redis 的性能,这篇就写写我认为比性能更重要的扩展性方面的主题. 如果再给我一次回到好几年前的机会,对于使用 Redis 我一开始就要好好考虑将来的扩展问题.就像我们做数据库分库 ...

  10. 搭建高可用的redis集群,避免standalone模式带给你的苦难

    现在项目上用redis的话,很少说不用集群的情况,毕竟如果生产上只有一台redis会有极大的风险,比如机器挂掉,或者内存爆掉,就比如我们生产环境 曾今也遭遇到这种情况,导致redis内存不够挂掉的情况 ...

随机推荐

  1. cellmap 基站查询 for android

    cellmap for android 3.6.8.8.1.8 更新日期:2019年4月28日 特别声明:本软件不能进行手机定位,不能对手机号码定位,谨防被骗. 安装说明:请卸载旧版本后,重新下载安装 ...

  2. tomcat 发布后中文乱码问题

    接口收到数据,使用Eclipse运行调试中文正常显示,发布到Tomcat后中文出现乱码情况: 解决方法: tomcat启动时默认使用系统编码,可更改tomcat bin目录下catalina.bat文 ...

  3. python基础知识3---字符编码

    阅读目录 一 了解字符编码的知识储备 二 字符编码介绍 三 字符编码应用之文件编辑器 3.1 文本编辑器之nodpad++ 3.2 文本编辑器之pycharm 3.3 文本编辑器之python解释器 ...

  4. 360或者金山毒霸可能会导致HP网络打印机驱动安装失败“数据无效”的解决办法

    360或者金山毒霸可能会导致HP网络打印机驱动安装失败“数据无效”的解决办法     同事办公室的打印机是网线接口的那种网络打印机,不是直接连到电脑的那种,他电脑安装了360和金山毒霸,WIN10下安 ...

  5. 2018-2019-2 20175227张雪莹《Java程序设计》实验三 《敏捷开发与XP实践》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验三 <敏捷开发与XP实践> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号: ...

  6. [UE4]接口

    一个椅子可以被抓起和放下,一扇门可以打开和关上.一个抽屉可以拉开和关上. 椅子.门.抽屉都可以用手拉,然后放下,但是它们的打开和关上的行为是不一样的,它们之间没有继承关系,没法共用“打开”和“关闭”的 ...

  7. mysql5.7基于gtid的主从复制

    两个节点:mkdir -p /data/mysql-5721/datamkdir -p /data/mysql-5721/innodbmkdir -p /data/mysql-5721/replica ...

  8. AJAX注册

    注册的时候,编号自动生成,需要在数据库查询出当前的最大编号是多少,然后在此基础上+1//绑定编号 $.ajax({ url: "ajax/returnUcode.ashx", da ...

  9. quartz.properties完整版

    我们通常是通过quartz.properties属性配置文件(默认情况下均使用该文件)结合StdSchedulerFactory 来使用Quartz的.StdSchedulerFactory 会加载属 ...

  10. Linux中常用目录作用

    Linux一般相应的文件都会会放在相应的目录下.这样更有利于文件的查找. 1.可以在家目录root或home,以及temp目录下随便放东西. 2.根目录下的bin和sbin,usr目录下的bin和sb ...