【问题标题】:activeMQ master/slave cluster with zookeeper带有 zookeeper 的 activeMQ 主/从集群
【发布时间】:2016-05-17 19:34:20
【问题描述】:

我的 activeMQ 连接到 zookeeper(一个由 5 个 zookeeper 组成的集群),在配置文件“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,成功成为master;使用相同的“activemq.xml”配置文件的activeMQ-server2,成功成为slave; activeMQ-server3 与相同的“activemq.xml”配置文件,成功成为slave,但踢出activeMQ-server2(开始给出连接错误)

我认为我为副本输入了错误的编号,我将所有 3 个配置文件都更改为“replicas="4"”,仍然无法正常工作

3 个 activeMQ 服务器的正确副本数是多少,或者我对其他一些部分有误。 (我在配置中只列出了 1 个 zookeeper,因为 5 个 zookeeper 可以相互连接,那里已经是一个集群)

谢谢:)

【问题讨论】:

    标签: activemq apache-zookeeper


    【解决方案1】:

    你需要在zkAddress部分列出所有zookeeper服务器,zkAddress="zoo1.example.org:2181,zoo2.example.org:2181,zoo3.example.org:2181",取自activemq replicated levelDB

    【讨论】:

      【解决方案2】:

      replicas值是activemq节点数,不是zookeeper节点数。因此,如果您有 3 个 amq 节点,请设置 replicas="3",而不是更多。 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}">
      

      【讨论】:

        猜你喜欢
        • 2011-01-14
        • 1970-01-01
        • 2021-11-29
        • 2020-01-27
        • 1970-01-01
        • 2011-03-08
        • 2017-03-01
        • 2015-01-17
        • 2017-11-20
        相关资源
        最近更新 更多