Redis集群:

 如果部署到多台电脑,就跟普通的集群一样;因为Redis是单线程处理的,多核CPU也只能使用一个核,

所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用率。

在Windows系统下搭建Redis集群:

需要4个部件:

    Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem、创建Redis集群的工具redis-trib.rb

安装Redis,并运行3个实例(Redis集群需要至少3个以上节点,低于3个无法创建);

使用redis-trib.rb工具来创建Redis集群,由于该文件是用ruby语言写的,所以需要安装Ruby开发环境,以及驱动redis-xxxx.gem

1.下载并安装Redis

其GitHub路径如下:https://github.com/MSOpenTech/redis/releases/

Redis提供msi和zip格式的下载文件,这里下载zip格式 3.0.504版本

将下载到的Redis-x64-3.0.504.zip解压即可,为了方便使用,建议放在盘符根目录下,并修改目录名为Redis,如:C:\Redis 或者D:\Redis

  通过配置文件来启动3个不同的Redis实例,由于Redis默认端口为6379,所以这里使用了6380、6381、6383、6384、6385、6386来运行6个Redis实例。

注意:为了避免不必要的错误,配置文件尽量保存为utf8格式,并且不要包含注释;

配置文件中以下两种保存日志的方式(保存在文件中、保存到System Log中)请根据需求选择其中一种即可:

loglevel notice           #日志的记录级别,notice是适合生产环境的
logfile "D:/Redis/Logs/redis6380_log.txt" #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
syslog-enabled yes #是否使用系统日志   
syslog-ident redis6380 #在系统日志的标识名
这里使用了保存在文件中的方式,所以先在Redis目录C:/Redis下新建Logs文件夹

redis.6380.conf 内容如下:

port 6380
loglevel notice
logfile "D:/Redis/Logs/redis6380_log.txt"
appendonly yes
appendfilename "appendonly.6380.aof"
cluster-enabled yes
cluster-config-file nodes.6380.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

配置内容的解释如下:

 port 6380       #端口号
loglevel notice #日志的记录级别,notice是适合生产环境的
logfile "Logs/redis6380_log.txt" #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
syslog-enabled yes #是否使用系统日志
syslog-ident redis6380 #在系统日志的标识名
appendonly yes #数据的保存为aof格式
appendfilename "appendonly.6380.aof" #数据保存文件
cluster-enabled yes #是否开启集群
cluster-config-file nodes.6380.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

可先将需要的文件下载好放在一个文件夹下,把其它配置文件创建好可复制,替换端口即可.

2.下载并安装ruby

  2.1. 下载路径如下:

http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe

下载后,双击安装即可,同样,为了操作方便,也是建议安装在盘符根目录下,如: C:\Ruby22-x64 ,安装时这里选中后两个选项,

意思是将ruby添加到系统的环境变量中,在cmd命令中能直接使用ruby的命令

2.2.下载ruby环境下Redis的驱动,考虑到兼容性,这里下载的是3.2.2版本

https://rubygems.org/gems/redis/versions/3.2.2

注意:下载在页面右下角相关连接一项中

安装该驱动,命令如下:

gem install --local path_to_gem/filename.gem

2.3.下载Redis官方提供的创建Redis集群的ruby脚本文件redis-trib.rb,路径如下:

https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb

打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb

建议保存到Redis的目录下。

这里我也说明一点:ruby安装有时候不会特别顺利,因为官网有时候会换掉这个安装地址,这种情况下大家只能另外找地址了。

3.创建Redis集群

CMD下切换到Redis目录,使用redis-trib.rb来创建Redis集群:

redis-trib.rb create --replicas 1 192.168.8.55:6380 192.168.8.114:6381 192.168.8.115:6383 192.168.8.101:6384 192.168.8.102:6385 192.168.8.103:6386

  执行结果:

当出现提示时,需要手动输入yes,输入后,当出现以下内容,说明已经创建了Redis集群

检验是否真的创建成功,输入以下命令:

redis-trib.rb check 192.168.8.55:6380

出现以下信息,说明创建的Redis集群是没问题的

使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息

C:/Redis/redis-cli.exe -c -p 6380  -c 表示 cluster  -p 表示 port 端口号

输入dbsize查询 记录总数  dbsize  或者一次输入完整命令:C:/Redis/redis-cli.exe -c -p 6380 dbsize

开启远程访问

bind 0.0.0.0

设置访问密码

requirepass 密码

修改端口

port 6379

持久化配置

save 900 1#在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。
save 300 10#在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。
save 60 10000#在60秒(1分钟)之后,如果至少有10000个key发生变化,则dump内存快照。

AOF追加方式持久化

appendonly yes开启持久化
appendfilename 存储aof持久化路径
appendfsync持久化方式,可选值no不追加、everysec每秒钟同步一次、always每次有数据修改发生时都会写入AOF文件(影响效率,但是数据完整)
一般2中同时开启,一个做容灾备份,一个做持久化

所以修改配置文件,都需要重启Redis

其他命令

service redis-server start 开启
service redis-server stop 停止
service redis-server restart 重启
service redis-server status 状态

redis-check-aof --fi 修复出错的aof文件
重启redis会自动加载aof文件

创建集群时报如下信息一直停留在等待界面

>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.....

需要在修改配置文件:  bind 的IP改为本机的IP地址.重新创建集群即可.

如果redis集群创建时报错:Sorry, can't connect to node

1.redis集群创建时报错:Sorry, can't connect to node

ip,端口等都配置正确的话,还需要将redis.conf文件中的密码注释掉    # requirepass 123456

redis集群环境添加节点时候遇到一个问题,提示新增的Node不为空:

[ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
需删除停止Redis服务,删除文件:appendonly.6383.aof nodes-6383.conf  再重新创建集群.

Windows下搭建REDIS集群的更多相关文章

  1. Windows下 搭建redis集群

    Windows下搭建redis集群教程 一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主 ...

  2. Windows下搭建Redis集群

    Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...

  3. Redis集群搭建(转自一菲聪天的“Windows下搭建Redis集群”)

    配置Redis参考:http://blog.csdn.net/zsg88/article/details/73715947 使用Ruby配置集群参考:https://www.cnblogs.com/t ...

  4. Redis → Windows下搭建redis集群

    一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主服务器宕机无备用服务器,多个节点网络互联 ...

  5. windows环境下搭建Redis集群

    转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...

  6. Windows 环境搭建Redis集群(win 64位)

    转: http://blog.csdn.net/zsg88/article/details/73715947 参考:https://www.cnblogs.com/tommy-huang/p/6240 ...

  7. Windows 环境搭建Redis集群

    环境以及引用资料 1.windows server 2008 r2 enterprise  (木有办法,公司的服务器全是如此,就这种环境搭建吧) 2.redis官方资料下载: https://redi ...

  8. 在windows上搭建redis集群

    一 所需软件 Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 安装配置redis redis下载地址   ...

  9. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

随机推荐

  1. Git起始操作之设置全局用户名和Email地址

    引自:廖雪峰老师的Git教程 因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址.你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无 ...

  2. 电脑预装Office2016打开Word时点击保存弹出“word无法启动转换器RECOVR32.CNV”对话框问题的修复方法

    感谢大佬:https://blog.csdn.net/qq_41969790/article/details/85161701 1.问题描述:电脑预装的Office2016,家庭和学生版正版.每次打开 ...

  3. Android--控件的滑动事件

    感谢大佬:https://www.cnblogs.com/zkb-0928/p/3768209.html 感谢大佬:https://blog.csdn.net/sweiqin/article/deta ...

  4. laravel中closure和curry 科里化函数式编程

    推荐值得的一看博客文档:谢谢作者  : https://my.oschina.net/zhmsong 函数式编程curry的概念: 只传递给函数一部分参数来调用函数,然后返回一个函数去处理剩下的参数. ...

  5. 简单实现UITableView索引功能(中英文首字母索引) (二) By HL

    简单实现UITableView索引功能(中英文首字母索引)(一) ByH罗 相关类: NSString+PinYing(获取中英文首字母)   参考上面链接 #import "ViewCon ...

  6. NSSet和NSMutableSet - By吴帮雷

    1.NSSet的使用 [NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造 [NSSet setWithArray:(NSArray *)array];用数组构造 ...

  7. 交换机基本原理与VRP基础及操作

    交换机基本原理与VRP基础及操作 目录 交换机基本原理与VRP基础及操作 一.数据链路层 1.数据链路层的位置 2.数据链路层的功能 二.以太网(Ethernet) 1.以太网的概念 2.MAC地址( ...

  8. Solution -「AGC 029E」「AT 4504」Wandering TKHS

    \(\mathcal{Description}\)   Link.   给一棵 \(n\) 个点的树,从某个点出发,遍历时必须走到已经走过的连通块所邻接的编号最小的结点.求从每个点出发,走到 \(1\ ...

  9. 抓取并解密HTTPS流量

    WireShark   Wireshark解密TLS数据流,从网上已有资料来看,主要是两种方式:一是服务端私钥直接解密,二是使用SSLKEYLOGFILE获取握手过程中的会话密钥信息进行解密.   这 ...

  10. MLHPC 2016 | Communication Quantization for Data-parallel Training of Deep Neural Networks

    本文主要研究HPC上进行数据并行训练的可行性.作者首先在HPC上实现了两种通信量化算法(1 Bit SGD以及阈值量化),然后提出了自适应量化算法以解决它们的缺点.此外,发挥出量化算法的性能,作者还自 ...