activemq控制台拒绝访问的解决方案

(一)无法访问activemq控制台的原因可能是以下三点

说明:这里默认是端口正常开启(或者是防火墙关闭),且系统后台可以看到acitvemq在运行。

1.找不到主机
2. 配置文件中的存储限制值过大
3.jetty.xml中的host的值为127.0.0.1,导致只能主机访问。

(二)确定出错原因,以及解决方法。

启动activemq之后,查看日志文件,位置在activemq文件夹下的data目录下的activemq.log

tail data/activemq.log

情况1:若出现如下错误信息

2022-10-04 00:13:41,300 | WARN  | Failed to get host name: java.net.UnknownHostException: centos7-1: centos7-1: unknown error | io.fabric8.insight.log.support.LogQuerySupport | main
java.net.UnknownHostException: centos7-1: centos7-1: unknown error
        at java.net.InetAddress.getLocalHost(InetAddress.java:1484)
        at io.fabric8.insight.log.support.LogQuerySupport.<init>(LogQuerySupport.java:55)
        at io.fabric8.insight.log.log4j.Log4jLogQuery.<init>(Log4jLogQuery.java:72)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:145)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
可以发现是找不到主机,那么去修改etc下的hosts文件,在127.0.0.1行的尾部添加主机名称。
vi /ect/hosts
如下图:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 centos7-1
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

情况2:然后再次启动activemq,如果出现了几个警告,如下图

那么就去修改大小,修改位置在activemq文件夹下的conf目录下的activemq.xml
vi conf/activemq.xml
找到systemUsage标签,里面有storeUsagetempUsage两个子标签,根据自己电脑的存储空间大小进行设置大小。
 <!--
            The systemUsage controls the maximum amount of space the broker will
            use before disabling caching and/or slowing down producers. For more information, see:
            http://activemq.apache.org/producer-flow-control.html
          -->
          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage percentOfJvmHeap="70" />
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="1 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="500 mb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

情况3:修改完之后重新启动activemq,发现日志文件没有再出现警告,有没有出现报错,正常启动。但是还不能访问控制台。那么极有可能是设置了只能主机访问的原因了。

修改在activemq的目录下的conf目录下的jetty.xml文件
vi conf/jetty.xml
可以看到默认的设置值为127.0.0.1,代表只有本机能访问

吧它改为0.0.0.0,代表所有主机可以访问控制台
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
             <!-- the default port number for the web console -->
        <property name="host" value="0.0.0.0"/>
        <property name="port" value="8161"/>
    </bean>

最后终于可以登录控制台:

总结

遇到问题时,要去多查看日志文件,可以找到出错的原因,然后解决,这是一个自我学习和提升能力的过程。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值