我在配置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实例的?
非常感谢,
欢呼声