Windows 配置Reids集群 Redis Cluster

1. 下载安装Redis

Redis官方不支持Windows,可是Microsoft Open Tech group在 GitHub上开发了一个Win64的版本,下载地址为:node

下载Redisredis

 

启动服务算法

redis-server redis.windows.confwindows

 

客户端链接ruby

redis-cli.exe -h 127.0.0.1 -p 6379服务器

 

2. 安装Ruby并配置环境

安装Ruby,Windows能够安装RubyInstaller,下载地址: 
http://railsinstaller.org/enapp

gem install rediscurl

 

执行 gem install redis 出现 SSL Connect error时,是由于ruby 没有包含 SSL 证书,因此 https 的连接被服务器拒绝。测试

解决方法很简单,首先在这里下载证书 http://curl.haxx.se/ca/cacert.pem, 而后再环境变量里设置 SSL_CERT_FILE 这个环境变量,并指向 cacert.pem 文件。url

 

3. 搭建Redis集群

要让集群正常运做至少须要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其他三个则是各个主节点的从节点。

主节点崩溃,从节点的Redis就会提高为主节点,代替原来的主节点工做,崩溃的主Redis回复工做后,会成为从节点

1). 建立Redis集群目录

在redis安装的根目录下建立6个以端口命名的文件夹

mkdir 7000 7001 7002 7003 7004 7005

见文件

 

2). 更改配置

将六个文件夹下的redis.windows.conf文件中如下属性进行修改:

port 7001(对应文件夹的端口号)
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
dir C:\Java\Redis\7000\ --对应的端口目录

3). 启动6个redis服务

进入每一个端口命名的文件夹下启动服务

 

4). 建立启动集群

因为建立启动集群须要redis-trib.rb文件,它是一个 Ruby 程序, 这个程序经过向实例发送特殊命令来完成建立新集群,检查集群或者对集群进行从新分片(reshared)等工做。

Windows的redis安装文件中是没有这个文件的,咱们须要去官网下载Redis,官网的Redis是Linux版本,在其源码src文件夹下,将redis-trib.rb拷贝到本机中Redis的安装目录中

最后进入redis-trib.rb文件所在目录执行:

ruby redis-trib.rb create --replicas 1 127.0.0.1:7000 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

这个命令在这里用于建立一个新的集群, 选项–replicas 1 表示咱们但愿为集群中的每一个主节点建立一个从节点。以后跟着的其余参数则是这个集群实例的地址列表,3个master3个slave

redis-trib 会打印出一份预想中的配置给你看, 若是你以为没问题的话, 就能够输入 yes ,redis-trib 就会将这份配置应用到集群当中,让各个节点开始互相通信。

 

5). 链接集群进行测试

链接集群的指令:


set name 0000
get name

redis-cli.exe -c 7001
get name

显示 0000 则表群集建立成功

redis-cli.exe -c -p 7000

Redis集群数据分配策略:

采用一种叫作哈希槽 (hash slot)的方式来分配数据,redis cluster 默认分配了 16384 个slot,当咱们set一个key 时,会用CRC16算法来取模获得所属的slot,而后将这个key分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384

注意的是:必需要3个之后的主节点,不然在建立集群时会失败,三个节点分别承担的slot 区间是:

节点A覆盖0-5460;
    节点B覆盖5461-10922;
    节点C覆盖10923-16383.

因此上图中按照redis cluster的哈希槽算法:CRC16(‘name’)%16384 
被分配到了7001端口的redis服务上。

至此,Redis Cluster在Windows上的配置就完成了!

相关文章
相关标签/搜索