我将activeMQ连接到zookeeper(5个动物园管理员的集群),在配置文件“activemq.xml”中,我有
<persistenceAdapter>
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:0"
zkAddress="blablabla:2181"
zkPassword="password"
zkPath="/activemq/leveldb-stores"
hostname="blabla"
/>
</persistenceAdapter>
现在我已经启动了activeMQ-server1,成功成为了主人; activeMQ-server2具有相同的“activemq.xml”配置文件,成功成为slave; activeMQ-server3具有相同的“activemq.xml”配置文件,成功成为slave,但启动activeMQ-server2(开始给出连接错误)
我想我为副本添加了错误的数字,我用“replicas =”4“”更改了所有3个配置文件,仍然无法正常工作
3个activeMQ服务器的正确副本号是多少,或者其他部分错误。 (我只在配置中列出了1个zookeeper,因为5个动物园管理员可以相互连接,已经是一个集群了)
谢谢:)
答案 0 :(得分:1)
您需要列出zkAddress部分中的所有zookeeper服务器zkAddress="zoo1.example.org:2181,zoo2.example.org:2181,zoo3.example.org:2181"
,取自activemq replicated levelDB
答案 1 :(得分:0)
副本值是activemq节点的数量,而不是zookeeper节点的数量。因此,如果您有3个amq节点,请设置replicas =&#34; 3&#34;,而不是更多。 http://activemq.apache.org/replicated-leveldb-store.html:
Replicas property :
The number of nodes that will exist in the cluster.
At least (replicas/2)+1 nodes must be online to avoid service outage.
另一件事,集群中的所有amq节点必须具有相同的名称(下面的MyBroker):
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="MyBroker" dataDirectory="${activemq.data}">