在我的开发机器上本地启动/停止ActiveMQ(5.6)我分别运行./activemq start
和./activemq stop
。
在我们的QA机器上,我们将其作为服务安装并分别运行service activemq start
和service activemq stop
。
我刚刚弹起QA机器并发出service activemq stop
,然后service activemq start
重启它。
我看到正在创建进程ID,如果我运行ps -aef | grep activemq
,我会看到ActiveMQ服务器的生命,呼吸过程。
但是,如果我去http://<qa-server>:8161/admin
,我会收到服务器关闭时看到的典型错误:
Firefox无法在以下位置建立与服务器的连接:8161。
编辑:我现在尝试了./active start
和service activemq start
方法,并且都产生了同样的问题:我看到正在创建一个进程,但在Web管理工具中没有。
我检查了ActiveMQ的主目录,没有看到任何类型的logs/
目录,所以我甚至不确定从哪里开始调试该问题。
AMQ未重新启动,或其Web管理应用程序未重新启动或正常运行;无论哪种方式,我都不知道从哪里开始。提前致谢!
编辑:
我在data/activemq.log
中看到以下错误:
2012-10-07 11:37:14,501 |信息|数据库/ qa-server / kahadb / lock被锁定...等待10秒钟才能解锁数据库。原因:java.io.IOException:无法锁定文件'/ qa-server / kahadb / lock'。 | org.apache.activemq.store.kahadb.MessageDatabase |主要2012-10-07 11:37:24,504 |信息|数据库/ qa-server / kahadb / lock被锁定...等待10秒钟才能解锁数据库。原因:java.io.IOException:无法锁定文件'/ qa-server / kahadb / lock'。 | org.apache.activemq.store.kahadb.MessageDatabase |主要
事实证明,我们的QA环境中有多个AMQ服务器。当我关闭第一台服务器时,由于某种原因抛出异常,因此它没有释放锁。拥有该锁然后转到另一个AMQ实例(第一个服务器是主服务器,第二个服务器是从服务器)。
当我尝试重新启动第一台服务器(主服务器)时,它不会重启,因为第二台服务器拥有锁。我关闭了第二台服务器,锁被释放,允许我重新启动它们。
检查data/
目录中的日志。
这是一个错字吗? :8161.admin
试试:8161/admin
现在,您应该让activemq命令顺利运行
停止服务并不能保证服务已停止。 Windows跨越线程,并在一段时间后假定服务已停止。如果您仍然在进程列表中看到它正在运行,请始终检查,验证并终止该进程。这样做可以清除它所持有的锁。
如果上述情况不符合您的情况,请按照以下简单步骤操作:
通过在本地浏览器中打开以下内容来验证运行正常:http://localhost:8161/