在Windows群集设置上的redis

时间:2016-01-05 15:17:45

标签: windows redis cluster-computing

我已下载MSOpenTech Redis版本3.x,其中包含期待已久的群集功能。我的redis数据库全部正常工作,我可以在所需的最少3个节点上启动我的集群(在集群模式下)。有谁知道如何配置集群(似乎没有人知道)? 不幸的是,安装Linux并运行本机Linux版本对我来说不是一个选择。 任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:8)

您可以关注Redis Cluster Tutorial并创建群集,您可以使用redis-trib.rb ruby​​脚本,您需要为其安装Ruby for Windows

例如:

> C:\Ruby22\Bin\ruby.exe redis-trib.rb create --replicas 1 192.168.1.1:7000 192.168.1.1:7001 192.168.1.1:7002 192.168.1.1:7003 192.168.1.1:7004 192.168.1.1:7005

答案 1 :(得分:4)

没有选择在Windows上安装Ruby,但发现手动步骤对我有用。 Ruby脚本似乎做了很多检查,设置正确,是首选的设置路径。所以当心,这里是龙。

将每个节点设置为以群集模式运行。编辑redis.windows-service.conf文件并取消注释

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000

重启服务。

运行powershell窗口并切换到Redis安装文件夹并启动redis-cli。 e.g。

cd "C:\Program Files\Redis"
.\redis-cli.exe

现在您可以加入其他节点。为每个其他节点运行CLUSTER MEET IPADDRESS PORT,而不是您碰巧遇到的实例。 e.g。

CLUSTER MEET 10.10.0.2 6379

运行几秒钟后

CLUSTER NODES

应列出所有连接的节点,但所有节点都将设置为MASTER。

在每个其他节点上,运行CLUSTER REPLICATE MASTERNODEID。其中MASTERNODEID是下一个哈希值,当运行CLUSTER NODES时,节点在主节点上声明为“我自己”。 e.g。

CLUSTER REPLICATE b7c767ab3ab7c4a926ac2fed937cf140b96764a7

现在为每个Master分配插槽。我的设置有三个实例,只有一个主。

for ($slot=0;$slot -le 16383;$slot++) {
    .\redis-cli.exe -h REDMST CLUSTER ADDSLOTS $slot
}

重新连接redis-cli并尝试保存数据。 e.g。

SET foo bar
OK
GET foo
"bar"

唷!最重要的是阅读https://www.javacodegeeks.com/2015/09/redis-clustering.html#InstallingRedis,这不是Windows特定的。

答案 2 :(得分:0)

for windows version:

打开命令窗口,然后在命令

下面输入
C:\ProgramFiles\redis>FOR /L %i IN (0,1,16383) DO ( redis-cli.exe -p **6380** CLUSTER ADDSLOTS %i )

6380是主节点的端口。