我正在尝试使用嵌入式定位器服务在gemfire中集群服务器。
服务器1
serverCache = new CacheFactory().set("cache-xml-file", "server-cache.xml")
.set("mcast-port", "0")
.set("start-locator", "11001")
.set("locators", "localhost[11001],10.0.0.193[11002]").create();
服务器2
serverCache = new CacheFactory().set("cache-xml-file", "server-cache.xml")
.set("mcast-port", "0")
.set("start-locator", "11002")
.set("locators", "10.0.0.192[11001],localhost[11002]").create();
但他们无法连接
来自服务器1
[warn 2016/02/08 20:37:41.510 UTC tid = 0x28]定位器发现任务无法与ip-10-0-0-193.ec2.internal交换定位信息localhost [11001] [ 1100重试55次后。以10,000毫秒重试。
来自服务器2
[warn 2016/02/08 20:46:27.867 UTC tid = 0x28]定位器发现任务无法与ip-10-0-0-192.ec2.internal交换定位信息localhost [11002] [ 11001]经过102次重试尝试。以10,000毫秒重试。
它关闭但我错过了什么
是的,使用.set(" bind-address"," 10.0.0.193")答案似乎可以解决问题。为了确认日志,我做了一个集群
server1的
[info 2016/02/09 09:39:07.445 UTC tid = 0x3c]会员资格:处理添加< ip-10-0-0-192(14522):14968>
[info 2016/02/09 09:39:07.445 UTC tid = 0x3c]承认会员:14968>。现在有2名非管理员。
[info 2016/02/09 09:39:07.460 UTC tid = 0x41]会员ip-10-0-0-192(14522):14968不等效或在同一冗余区域内。
[info 2016/02/09 09:39:12.923 UTC tid = 0x28]定位器发现任务与ip-10-0-0交换了定位信息ip-10-0-0-193.ec2.internal [11001] -192.ec2.internal [11001]:{-1 = [ip-10-0-0-192.ec2.internal [11001],ip-10-0-0-193.ec2.internal [11001]]}
[info 2016/02/09 09:39:13.245 UTC tid = 0x46]初始化区域_gfe_non_durable_client_with_id_ip-10-0-0-186(3936:孤独者):49683:5b2966c5_2_queue
[info 2016/02/09 09:39:13.247 UTC tid = 0x46]区域初始化_gfe_non_durable_client_with_id_ip-10-0-0-186(3936:孤独者):49683:5b2966c5_2_queue已完成
[info 2016/02/09 09:39:13.252 UTC tid = 0x46]条目到期任务被禁用,因为队列成为主要队列。旧的messageTimeToLive是:180
[info 2016/02/09 09:39:13.435 UTC tid = 0x46]初始化区域_gfe_non_durable_client_with_id_ip-10-0-0-189(4036:loner):51441:762a66c5_2_queue
[info 2016/02/09 09:39:13.437 UTC tid = 0x46]区域初始化_gfe_non_durable_client_with_id_ip-10-0-0-189(4036:孤独者):51441:762a66c5_2_queue已完成
[info 2016/02/09 09:39:13.438 UTC tid = 0x46]禁用条目到期任务,因为队列成为主要队列。旧的messageTimeToLive是:180
和服务器2
[info 2016/02/09 09:39:07.245 UTC tid = 0x1]尝试使用会员ID ip-10-加入其成员协调员为ip-10-0-0-193(16745):57474的分布式系统0-0-192(14522):14968
[info 2016/02/09 09:39:07.408 UTC tid = 0x1]会员:主要成员现在是ip-10-0-0-193(16745):57474
[info 2016/02/09 09:39:07.412 UTC tid = 0x23] GemFire故障检测正在监控ip-10-0-0-193(16745):57474
[info 2016/02/09 09:39:07.413 UTC tid = 0x1]使用ID ip-10-0-0-192(14522):14968进入会员资格。
[info 2016/02/09 09:39:07.414 UTC tid = 0x1]启动DistributionManager ip-10-0-0-192(14522):14968。 (花了272 / ms)
[info 2016/02/09 09:39:07.414 UTC tid = 0x1]初始(membership)视图= [ip-10-0-0-193(16745):57474 {lead},ip-10-0 -0-192(14522):14968]
[info 2016/02/09 09:39:07.414 UTC tid = 0x1]承认会员:57474>。现在有1名非管理员。
[info 2016/02/09 09:39:07.414 UTC tid = 0x1]承认会员:14968>。现在有2名非管理员。
[info 2016/02/09 09:39:07.446 UTC:57474 shared unordered uid = 1 port = 39916> tid = 0x28]成员ip-10-0-0-193(16745):57474不等同或在同一冗余区域内。
感谢。
答案 0 :(得分:1)
您是否尝试将“localhost”替换为该框的实际IP地址?换句话说,两个列表应如下所示:
.set(“locators”,“10.0.0.192 [11001],10.0.0.193 [11002]”)
我认为定位器默认绑定到您机器的公共IP地址,而不是localhost(127.0.0.1)。
答案 1 :(得分:1)
实际上,定位器绑定到localhost
,因此您应该为bind-address
的每个缓存服务器设置set("bind-address", "10.0.0.192")
。显然,这些地址还有locators
点。