Nei*_*ilR 9 windows cluster-computing redis
我已经下载了MSOpenTech Redis 3.x版,其中包括期待已久的集群功能.我的redis数据库全部正常工作,我可以在所需的最少3个节点上启动我的集群(在集群模式下).有谁知道如何配置集群(似乎没有人知道)?不幸的是,安装Linux并运行本机Linux版本对我来说不是一个选择.任何帮助将不胜感激.
您可以按照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
Run Code Online (Sandbox Code Playgroud)
没有在 Windows 上安装 Ruby 的选项,但发现手动步骤对我有用。Ruby 脚本似乎做了很多检查工作是否正确设置并且是首选的设置路线。所以要小心,这里是龙。
将每个节点设置为在集群模式下运行。编辑 redis.windows-service.conf 文件并取消注释
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
Run Code Online (Sandbox Code Playgroud)
重启服务。
运行 powershell 窗口并切换到 Redis 安装文件夹并启动 redis-cli。例如
cd "C:\Program Files\Redis"
.\redis-cli.exe
Run Code Online (Sandbox Code Playgroud)
现在您可以加入其他节点。为每个其他节点运行 CLUSTER MEET IPADDRESS PORT,而不是您碰巧所在的实例。例如
CLUSTER MEET 10.10.0.2 6379
Run Code Online (Sandbox Code Playgroud)
运行几秒后
CLUSTER NODES
Run Code Online (Sandbox Code Playgroud)
应该列出所有连接的节点,但都将设置为 MASTER。
在其他每个节点上,运行 CLUSTER REPLICATE MASTERNODEID。其中 MASTERNODEID 是运行 CLUSTER NODES 时在主节点上声明为“myself”的节点旁边的哈希值。例如
CLUSTER REPLICATE b7c767ab3ab7c4a926ac2fed937cf140b96764a7
Run Code Online (Sandbox Code Playgroud)
现在为每个 Master 分配插槽。我的设置有三个实例,只有一个主实例。
for ($slot=0;$slot -le 16383;$slot++) {
.\redis-cli.exe -h REDMST CLUSTER ADDSLOTS $slot
}
Run Code Online (Sandbox Code Playgroud)
重新连接 redis-cli 并尝试保存数据。例如
SET foo bar
OK
GET foo
"bar"
Run Code Online (Sandbox Code Playgroud)
呼!通过阅读https://www.javacodegeeks.com/2015/09/redis-clustering.html#InstallingRedis获得了大部分内容,这不是 Windows 特定的。