配置Zookeeper zoodiscovery集中和复制模式

时间:2011-10-03 14:51:56

标签: eclipse osgi apache-zookeeper centralized

我在配置Zookeeper以集中和复制zoodiscovery模式时遇到问题。 http://wiki.eclipse.org/Zookeeper_Based_ECF_Discovery的指南对此有点神秘。

我正在开发Windows XP SP3,Java JDK 1.6,Eclipse STS 2.7.2,org.eclipse.osgi 3.7和代理网络。

注意:使用独立配置模式没有问题。我在服务器上使用 -Dzoodiscovery.flavor.standalone = 192.168.23.21:3030; clientPort = 3031 -Dzoodiscovery.flavor.standalone = 192.168.23.28:3031; clientPort = 3030 并且效果很好。

我会将问题分成多个部分:

1)在192.168.23.28上具有(一个)中央服务器的设置中,有多个客户端。客户端将发布和使用服务。

我将服务器启动为:

java -Dzoodiscovery.dataDir=name -Dzoodiscovery.flavor=zoodiscovery.flavor.centralized=192.168.23.28 -jar org.eclipse.osgi.jar -console -consoleLog -clean -configuration c:\temp\osgiserver\configuration

我可以看到 ZooDiscovery>发现服务已激活。

当我启动客户端(在示例中只有一个)时:

java -Dzoodiscovery.autoStart=true -Dzoodiscovery.flavor=zoodiscovery.flavor.centralized=192.168.23.28 -jar org.eclipse.osgi.jar -console -consoleLog -clean -configuration c:\temp\osgiclient\configuration

我可以看到 ZooDiscovery>发现服务已激活。但随后 INFO - 尝试连接到服务器:/192.168.23.28 ,此功能一直在继续。

我必须通过从命令行配置Zookeeper来启动服务器和客户端,我不能在bundle中插入这些参数。我已尝试在服务器上设置 -Dzoodiscovery.clientPort = 8888 (8888可用),然后 -Dzoodiscovery.flavor = zoodiscovery.flavor.centralized = 192.168.23.28:8888 在客户端,但它一无所获。

如何配置此类设置?

2)另外,我想知道是否有可能使用集中式,让多个中央服务器在它们之间进行通信,或者我是否必须使用复制模式。

3)导致...如何通过传递VM命令行参数来配置服务器和客户端以使用复制模式?

4)在复制模式下,如果我稍后添加一个新的Zookeeper实例,我是否必须停止并重新配置现有的Zookeeper实例以使用新的实例,或者是否足以配置新的实例以使用现有的Zookeeper实例的?

非常感谢,

欢呼声

0 个答案:

没有答案