架构图如下

首先开启6个实例,这里为了演示方便,只是在一个linux上开启了6个redis实例

6380 (主)   6480 (从)

6381(主)   6481(从)

6382(主)   6482(从)

创建6个文件夹

拷贝redis.conf到这6个文件夹下面

修改相关配置参数

port 6380

pidfile /var/run/redis_6380.pid

取消注释 并修改nodes-xxx为对应的端口号

修改dir为对应的工作目录

开启6个实例

因为redis-trib.rb是有ruby语言编写的所以需要安装ruby环境。

通过以下方式安装:

yum -y install zlib ruby rubygems

gem install redis

创建集群

到redis的安装目录下

redis-3.2.10/src

执行(注意 整句命令不能有回车)

./redis-trib.rb create --replicas 1 192.168.0.116:6382 192.168.0.116:6380 192.168.0.116:6381 192.168.0.116:6480 192.168.0.116:6481 192.168.0.116:6482

【--replicas 1:指定了从数据的数量为1】

以下是执行命令后的界面:::

[root@localhost src]$ ./redis-trib.rb create --replicas 1 192.168.0.116:6382 192.168.0.116:6380 192.168.0.116:6381 192.168.0.116:6480 192.168.0.116:6481 192.168.0.116:6482

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

192.168.0.116:6382

192.168.0.116:6380

192.168.0.116:6381

Adding replica 192.168.0.116:6480 to 192.168.0.116:6382

Adding replica 192.168.0.116:6481 to 192.168.0.116:6380

Adding replica 192.168.0.116:6482 to 192.168.0.116:6381

M: b178d2d995737c7f7327e9717dda9203057dc4e0 192.168.0.116:6382

slots:0-5460 (5461 slots) master

M: 44a8ddca110eccf27bb42a9ff3934c6cd989c5b3 192.168.0.116:6380

slots:5461-10922 (5462 slots) master

M: f6a3009c4441478a99c2787d0c283383cfd2b9fc 192.168.0.116:6381

slots:10923-16383 (5461 slots) master

S: d30b12f6b97a731e2953a5d3166609dc4e59abc9 192.168.0.116:6480

replicates b178d2d995737c7f7327e9717dda9203057dc4e0

S: 12e1d48b3b0b266eff17d3a707a8f49163f60420 192.168.0.116:6481

replicates 44a8ddca110eccf27bb42a9ff3934c6cd989c5b3

S: 18b881258bf48a20761bf38c34d13828a0e25032 192.168.0.116:6482

replicates f6a3009c4441478a99c2787d0c283383cfd2b9fc

Can I set the above configuration? (type 'yes' to accept): yes

输入yes 就创建成功了

测试 ,这里我们kill掉  master 6381

可以看到 集群依然正常,6482变成master了

 使用集群需要注意的事项

1、多键的命令操作(如MGET、MSET),如果每个键都位于同一个节点,则可以正常支持,否则会提示错误。

2、集群中的节点只能使用0号数据库,如果执行SELECT切换数据库会提示错误。

3 、集群安装需要ruby环境,请注意配置

redis集群中的主从复制架构(3主3从)的更多相关文章

  1. Redis设置认证密码 Redis使用认证密码登录 在Redis集群中使用认证密码

    Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安 ...

  2. 在Redis集群中使用pipeline批量插入

    在Redis集群中使用pipeline批量插入 由于项目中需要使用批量插入功能, 所以在网上查找到了Redis 批量插入可以使用pipeline来高效的插入, 示例代码如下: Pipeline p = ...

  3. 转:Redis设置认证密码 Redis使用认证密码登录 在Redis集群中使用认证密码

    Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安 ...

  4. 通过扩展redis-cli来实现在redis集群中移动槽位

    下面的扩展代码基于redis 5.0.2进行扩展, 对于其他的redis版本, 我没有进行相关的测试.考虑到redis集群的修改频率,这段代码应该同时适用于其他的redis版本. 下面为修改的代码: ...

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

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

  6. windows系统上搭建redis集群哨兵及主从复制

    搭建master 修改redis配置redis.windows.conf: 修改监听端口:  port 26379 修改绑定IP: bind 127.0.0.1 添加redis日志:logfile & ...

  7. Redis集群方案之主从复制(待实践)

    Redis有主从复制的功能,一台主可以有多台从,从还可以有多台从,但是从只能有一个主.并且在从写入的数据不会复制到主. 配置 在Redis中,要实现主从复制架构非常简单,只需要在从数据库的配置文件中加 ...

  8. 使用redis集群中遇到的错误

    一. 上述错误的原因: 1.在redis服务器上关闭防火墙 2.可能是host写错了 上述错误的原因: 配置文件中jedisClient代表的是单机版的redis,但是在类中转化的时候转化的是集群版

  9. spring 整合redis集群中使用@autowire无效问题的解决办法

    1.视频参考黑马32期宜立方商城第6课 redis对于的代码 我们先变向一个redis客户端的接口文件 package com.test; public interface JedisClient { ...

随机推荐

  1. Mysql 数据类型(基础5)

    Mysql 常用的4种数据类型: 整型 int. 浮点型 double. 日期类型 datetime .字符型( varchar char text ) #创建一张表 mysql> create ...

  2. git ssh免登陆,以及ssh config

    git去连接github或gitlab上的远程仓库,可以使用ssh方式,也可以使用git的账号密码登录 这里介绍使用ssh方式实现免登陆(第一步和第二步即可实现)   第一步:生成ssh秘钥 ssh- ...

  3. linux按键映射

    .Xmodmap keycode = Mode_switch keysym k = k K Left keysym j = j J Down keysym l = l L Right keysym h ...

  4. artTemplate/template.js模板将时间格式化为正常的日期

    网上提供的方法用不了 自己琢磨的 注意:ajax的异步方式必须设置成true才行,false不起作用.async: true: <script> function timestamp (v ...

  5. NYOJ-1058 DFS部分求和

    原题链接 本题思路:暴力深搜,具体见代码. #include <iostream> #include <stack> using namespace std; + ; int ...

  6. ORACLE的强制索引

    在一些场景下,可能ORACLE不会自动走索引,这时候,如果对业务清晰,可以尝试使用强制索引,测试查询语句的性能. 以EMP表为例: 先在EMP表中建立唯一索引,如图. 普通搜索: SELECT * F ...

  7. PTA 7-9 旅游规划(SPFA)

    有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路径都是最短的,那么需要输出最便 ...

  8. 惠普/aruba交换机

    1.开启CDP cdp run show cdp neighbors可看到各端口上.下联的AP或交换机 2.配置telnet管理 1)配置IP地址 vlan 77  name "VLAN77 ...

  9. stark组件开发之URL分发和默认Handler

    为register 函数添加一个,prev参数,默认None ,用于可以让用户自己指定前缀. def register(self, model_class, handler_class=None, p ...

  10. 更改AVD默认路径

    默认情况下,安卓模拟器镜像文件会放到%userprofile%\.android下,例如当前Win7登录用户为administrator 则%userprofile%为 c:\users\admini ...