ActiveMQ 问题记录本章演示 ActiveMQ 集群部署,默认您已经安装了 zookeeper 集群,并在各服务器上成功安装了 ActiveMQ 单节点实例如果您的环境还不满足条件请参考前面的文章
在集群部署过程中会出现各种问题,但是 ActiveMQ集群的部署是比较简单的,如果不能实现集群功能请检查以下配置:
-
最坑的一个问题是ActiveMQ自己的问题,它少了一个 jar包 failureaccess-1.0.1,没有这个包会出现一堆报错,如果你认为自己的配置没有问题不妨把这个包加到 lib 里试试,maven 地址:https://mvnrepository.com/artifact/com.google.guava/failureaccess
-
防火墙是否开启(包括虚拟机的,宿主主机的,如果是阿里云的还要进入阿里云配置访问规则,这玩意关了防火墙可干不掉它)
-
集群名称和IP地址是否配置正确
-
端口号是否冲突,我这里的三台虚拟机所以不用改端口号,如果是单台虚拟机部署三个ActiveMQ节点,需要注意端口冲突
-
修改 broker 标签中的 brokerName ,三个实例必须一致
-
在 persistenceAdapter 标签中添加 replicatedLevelDB,集群和zookeeper相关信息
-
如果是单台服务器中部署多个ActiveMQ,需要注意以下两点
-
三个实例中 replicatedLevelDB 下的 bind 配置的端口号不能相同
-
三个实例中 transportConnectors 标签中的端口号不能相同
-
我这里是三个虚拟机,每个虚拟机部署一个 ActiveMQ 实例,所以 jetty.xml 不需要修改
如果是单台服务器,则需要将三个ActiveMQ 中 jetty.xml 的 jettyPort 调整为不同的端口号
修改完成后重启activemq 集群即可 集群文件备份
activemq.xml配置文件环境是三台虚拟机,每个虚拟机中仅部署一个 ActiveMQ实例
jetty.xmlfile:${activemq.conf}/credentials.properties



