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