ActiveMQ:使用 LevelDB 复制时集群成员不足
ActiveMQ: Not enough cluster members when using LevelDB replication
我正在尝试将 ActiveMQ 配置为在同一台机器上使用 LevelDB 和两个 zookeeper 实例。这是 activeMQ 配置:
<persistenceAdapter>
<replicatedLevelDB zkAddress="localhost:2181,localhost:2182"
directory="${activemq.data}/leveldb" replicas="2"
hostname="localhost"/>
</persistenceAdapter>
在 Zookeeper 端,我配置了两个具有以下配置的服务器。
服务器 1:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/user1/z1/zookeeper-3.4.6/data
clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2889:3889
服务器 2:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/user1/z2/zookeeper-3.4.6/data
clientPort=2182
server.1=localhost:2888:3888
server.2=localhost:2889:3889
我在每台服务器上的包含“1”和“2”的数据文件夹下创建了文件myid。 Zookeeper 正确启动,从日志中我可以看到服务器已被发现。
问题是 ActiveMQ 只发现了两个节点中的一个,如以下消息所示:
2015-05-26 22:45:31,938 | INFO | Session establishment complete on server example.com/127.0.0.1:2182, sessionid = 0x24d91f53ba50000, negotiated timeout = 4000 | org.apache.zookeeper.ClientCnxn | main-SendThread(example.com:2182)
2015-05-26 22:45:32,831 | INFO | Not enough cluster members connected to elect a master. | org.apache.activemq.leveldb.replicated.MasterElector | main-EventThread
有什么帮助吗?
我遇到了同样的问题并在 activemq mailing list
找到了解决方案
基本上所有使用zookeeper的activemq中的broker节点应该有相同的broker名称。
我正在尝试将 ActiveMQ 配置为在同一台机器上使用 LevelDB 和两个 zookeeper 实例。这是 activeMQ 配置:
<persistenceAdapter>
<replicatedLevelDB zkAddress="localhost:2181,localhost:2182"
directory="${activemq.data}/leveldb" replicas="2"
hostname="localhost"/>
</persistenceAdapter>
在 Zookeeper 端,我配置了两个具有以下配置的服务器。
服务器 1:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/user1/z1/zookeeper-3.4.6/data
clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2889:3889
服务器 2:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/user1/z2/zookeeper-3.4.6/data
clientPort=2182
server.1=localhost:2888:3888
server.2=localhost:2889:3889
我在每台服务器上的包含“1”和“2”的数据文件夹下创建了文件myid。 Zookeeper 正确启动,从日志中我可以看到服务器已被发现。 问题是 ActiveMQ 只发现了两个节点中的一个,如以下消息所示:
2015-05-26 22:45:31,938 | INFO | Session establishment complete on server example.com/127.0.0.1:2182, sessionid = 0x24d91f53ba50000, negotiated timeout = 4000 | org.apache.zookeeper.ClientCnxn | main-SendThread(example.com:2182)
2015-05-26 22:45:32,831 | INFO | Not enough cluster members connected to elect a master. | org.apache.activemq.leveldb.replicated.MasterElector | main-EventThread
有什么帮助吗?
我遇到了同样的问题并在 activemq mailing list
找到了解决方案基本上所有使用zookeeper的activemq中的broker节点应该有相同的broker名称。