大家好,希望有人可以帮助我进行一些查询/配置以使用Geode Redis 适配器。我在确定如何/是否可以在我的 Geode 集群中配置多个 Redis 服务器以在高可用性设置中运行时遇到了一些困难。
我对 Geode 很陌生,但了解在传统的 Geode 应用程序中,客户端与定位器进程交互以访问集群中的数据并平衡负载。鉴于此适配器的目的是作为 Redis 的替代品(即客户端不需要更改),我想它的功能会有所不同。
这是我到目前为止所尝试的:
我根据此链接从源代码构建并成功gfsh
在 2 个 CentOS 7 VM 上安装了 cli:
- 192.168.0.10:主机1
- 192.168.0.15:主机2
在 host1 上,我运行以下命令:
gfsh>start locator --name=locator1 --bind-address=192.168.0.10 --port=10334
gfsh>start server --name=redis --redis-bind-address=192.168.0.10 --redis-port=11211 --J=-Dgemfireredis.regiontype=PARTITION_REDUNDANT
在 host2 上,我运行以下命令:
gfsh>start server --name=redis2 --redis-bind-address=192.168.0.15 --redis-port=11211 --J=-Dgemfireredis.regiontype=PARTITION_REDUNDANT --locators=192.168.0.10[10334]
在 host1 上,我检查当前配置:
gfsh>list members
Name | Id
-------- | -------------------------------------------------
locator1 | 192.168.0.10(locator1:16629:locator)<ec><v0>:1024
redis2 | 192.168.0.15(redis2:6022)<ec><v2>:1024
redis | 192.168.0.10(redis:16720)<ec><v1>:1025
gfsh>list regions
List of regions
-----------------
__HlL
__ReDiS_MeTa_DaTa
__StRiNgS
对于每个区域,我都可以看到服务器 redis 和 redis2 作为托管成员 - 例如
gfsh>describe region --name=__StRiNgS
..........................................................
Name : __StRiNgS
Data Policy : normal
Hosting Members : redis2
redis
Non-Default Attributes Shared By Hosting Members
Type | Name | Value
------ | ----- | -----
Region | size | 0
| scope | local
在这一点上,我转向了redis-cli
一些测试。鉴于之前的输出,我的期望是,如果我在一台服务器上设置密钥,我应该能够从另一台服务器读取它:
192.168.0.10:11211> set foo 'bar'
192.168.0.10:11211> get foo
"bar"
192.168.0.15:11211> get foo
(nil)
gfsh>describe region --name=__StRiNgS
..........................................................
Name : __StRiNgS
Data Policy : normal
Hosting Members : redis2
redis
Non-Default Attributes Shared By Hosting Members
Type | Name | Value
------ | ----- | -----
Region | scope | local
Non-Default Attributes Specific To The Hosting Members
Member | Type | Name | Value
------ | ------ | ---- | -----
redis2 | Region | size | 0
redis | Region | size | 1
如您所见,针对 host1 上添加的密钥的查询返回 (nil)。我非常感谢这里的任何帮助。是否有可能实现我在这里的目标,或者 Redis 适配器是否只允许您扩展单个服务器?