redis集群中的主从复制架构(3主3从)
架构图如下
首先开启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从)的更多相关文章
- Redis设置认证密码 Redis使用认证密码登录 在Redis集群中使用认证密码
Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安 ...
- 在Redis集群中使用pipeline批量插入
在Redis集群中使用pipeline批量插入 由于项目中需要使用批量插入功能, 所以在网上查找到了Redis 批量插入可以使用pipeline来高效的插入, 示例代码如下: Pipeline p = ...
- 转:Redis设置认证密码 Redis使用认证密码登录 在Redis集群中使用认证密码
Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安 ...
- 通过扩展redis-cli来实现在redis集群中移动槽位
下面的扩展代码基于redis 5.0.2进行扩展, 对于其他的redis版本, 我没有进行相关的测试.考虑到redis集群的修改频率,这段代码应该同时适用于其他的redis版本. 下面为修改的代码: ...
- linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法
问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...
- windows系统上搭建redis集群哨兵及主从复制
搭建master 修改redis配置redis.windows.conf: 修改监听端口: port 26379 修改绑定IP: bind 127.0.0.1 添加redis日志:logfile & ...
- Redis集群方案之主从复制(待实践)
Redis有主从复制的功能,一台主可以有多台从,从还可以有多台从,但是从只能有一个主.并且在从写入的数据不会复制到主. 配置 在Redis中,要实现主从复制架构非常简单,只需要在从数据库的配置文件中加 ...
- 使用redis集群中遇到的错误
一. 上述错误的原因: 1.在redis服务器上关闭防火墙 2.可能是host写错了 上述错误的原因: 配置文件中jedisClient代表的是单机版的redis,但是在类中转化的时候转化的是集群版
- spring 整合redis集群中使用@autowire无效问题的解决办法
1.视频参考黑马32期宜立方商城第6课 redis对于的代码 我们先变向一个redis客户端的接口文件 package com.test; public interface JedisClient { ...
随机推荐
- sql语句where条件判断是否是相同的string时 原来不判断大小写
SELECT * from api_check where api ="Worker" SELECT * from api_check where api ="worke ...
- Fiddler抓包域名过滤(转载)
转载自 http://www.cnblogs.com/111testing/p/6440480.html Fiddler抓包域名过滤 我们在用Fiddler抓包的时候会抓到很多不需要的数据包,我们怎样 ...
- django models实际操作中遇到的一些问题
问题1.将主键id改成自动生成的python3 manage.py migrate时报下面的错误 django.db.utils.InternalError: (1091, "Can't D ...
- sqlserver自增主键
参考 https://www.cnblogs.com/michellexiaoqi/p/8031294.html 1.选中表: 2.右击鼠标,设计: 3.选中列(整数类 ...
- 【Django】django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
今天创建APP的时候报这个错误django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you in ...
- SolarWinds网络管理手册列表
前段时间使用过SolarWinds管理思科的交换机,在使用的过程中自己做了一个简单的使用手册,SolarWinds是一款非常强悍的网管软件,手册中没有完全涉及SolarWinds的所有功能,Solar ...
- xshell 5 书写汉字乱码
使用win10安装xshell5后发现使用xshell连接虚拟机后,能识别中文但是无法输入中文了 控制面板--语言 删除除中文输入法之外的所有输入法和美式键盘 然后就可以正常输入中文了,为了英 ...
- c# double 类型保留几位小数
C 或 c :货币 D 或 d:十进制数 E 或 e:科学记数法(指数) F 或 f:定点 G 或 g:常规 N 或 n:数字 P 或 p:百分比 double.ToString("Nx & ...
- TZOJ 2588 Bad Grass(DFS)
描述 Bessie was munching on tender shoots of grass and, as cows do, contemplating the state of the uni ...
- redis(三)积累-基本的取值和设值
1. 先把redis的连接池拿出来, JedisPool pool=new JedisPool(new JedisPoolConfig(),"127.0.0.1") Jedis ...