在Window环境下搭建一个三主三从模式的Redis集群

所需软件:Redis、Ruby语言运行环境、Redis的Ruby驱动、创建Redis集群的工具redis-trib.rb

二 安装配置redis
redis下载地址: https://github.com/MSOpenTech/redis/releases; 下载Redis-x64-3.2.100.zip。

集群规划有三个节点的集群,每个节点有一主一备。需要6台虚拟机(也就是后面的六个Redis文件夹)。

把 redis 解压后,再复制出 5 份,配置 三主三从集群。 由于 redis 默认端口号为 6379,那么其它5份的端口可以为6380,6381,6382,6383,6384。 并且把目录(文件夹名字)使用端口号命名。
在这里插入图片描述

打开目录6379下有一个文件 redis.windows.conf,修改里面的端口号,以及集群支持配置。
在这里插入图片描述
打开目录6379下有一个文件 redis.windows.conf,修改里面的端口号,以及集群支持配置(记得一定要把port前面的#号去掉,那个是注释,如果不把注释去掉搭建集群会失败)。
在这里插入图片描述
同理修改刚刚这个文件( redis.windows.conf)其他配置来支持集群
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes

修改以上配置的原因
如果cluster-enabled 不为yes, 那么在使用JedisCluster集群代码获取的时候,会报错。
cluster-node-timeout 调整为 15000,那么在创建集群的时候,不会超时。
cluster-config-file nodes-6379.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。
(要注意的是以上配置的前面都会有一个#符号,记得把它去掉)
在这里插入图片描述

在6379这个目录下编写一个 bat 来启动 redis,在每个节点目录下建立 start.bat,内容如下:
title redis-6380
redis-server.exe redis.windows.conf

在这里插入图片描述

注意,刚刚以上配置6379的 redis.windows.conf文件在另外5个文件夹(6380,6381,6382,6383,6384)也操作一边

三 安装Ruby
redis的集群使用 ruby脚本编写,所以系统需要有 Ruby 环境,去百度搜索关键字"ruby下载安装"即可,这个比较简单,就不做过多解释
安装图如下(安装时3个选项都勾选):
在这里插入图片描述
四 安装Redis的Ruby驱动
下载地址 https://rubygems.org/pages/download, 下载后解压,然后切换到解压目录中,D:\Program Files\redis\Ruby25-x64 打开命令行(cmd), 在命令行执行: ruby setup.rb。

然后GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行 gem install redis
在这里插入图片描述

五 安装集群脚本redis-trib

下载地址 https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb

打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb,点击鼠标保存到一个Redis的目录下,最好保存6份,让每一个集群节点都有一份
在这里插入图片描述
集群的命令为 :redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

代码解释:–replicas 1 表示每个主数据库拥有从数据库个数为1。master节点不能少于3个,所以我们用了6个redis

六 启动每个节点并且执行集群构建脚本

把每个节点下的 start.bat双击启动,然后打开命令行切换你Redis安装目录中执行集群创建的命令:
redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

注意:如果上面的语句执行不成功。可以在前面加上ruby再运行。
(ruby redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

会出现如下图的情况
在这里插入图片描述
然后中间期间会出现 Can I set the above configuration? (type ‘yes’ to accept): 请确定并输入 yes 。成功后的结果如下

在这里插入图片描述
七测试
命令 redis-cli –c –h ”127.0.0.1” –p “6379” ; (解释一下:c 表示集群)
在这里插入图片描述
输入dbsize 来查询记录总数
在这里插入图片描述
这样子就已经是配置成功了,当你想用Redis集群的时候,就打开6379-6384文件夹下的start.bat文件,让它们运行起来就行。这个三主三从模式是关闭掉其中一个主节点(6379-6381),它们的副节点(6382-6384)就会自动变为刚刚下线的主节点(如果刚刚下线的主节点再次上线,会变为刚刚晋升为主节点的副节点),可以全部关闭所有的主节点或者全部的副节点,也就是节点数要大于等于3,不然会报错。

八Java代码连接Redis集群的实例

public static JedisCluster getJedis() {
		JedisPoolConfig config=new JedisPoolConfig();
		config.setMaxTotal(30);
		config.setMaxIdle(10);
		
		JedisCluster jedisCluster=null;
		try {
			Set<HostAndPort> jedisClusterNode=new HashSet<HostAndPort>();
			jedisClusterNode.add(new HostAndPort("127.0.0.1", 6379));
			jedisClusterNode.add(new HostAndPort("127.0.0.1", 6380));
			jedisClusterNode.add(new HostAndPort("127.0.0.1", 6381));
			jedisClusterNode.add(new HostAndPort("127.0.0.1", 6382));
			jedisClusterNode.add(new HostAndPort("127.0.0.1", 6383));
			jedisClusterNode.add(new HostAndPort("127.0.0.1", 6384));
			jedisCluster=new JedisCluster(jedisClusterNode, config);
			
		}catch(Exception e) {
			e.printStackTrace();
		}
		return jedisCluster;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值