ActiveMQ启动时出现错误信息如下:
Caused by: java.net.UnknownHostException: centos: 未知的名称或服务
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
at java.net.InetAddress.getLocalHost(InetAddress.java:1434)
问题分析:
根据日志java.net.UnknownHostException: localhost判断,应该是由于服务器无法正确解析localhost造成的
[plain] view plain copy
[123@test conf]$ ping localhost
ping: unknown host localhost
[123@test conf]$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.020 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.026 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.023 ms
根据日志Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService' defined in class path resource [activemq.xml]判断,应该是activemq.xml文件中的BrokerService配置出错
解决方式:
一:不使用localhost而使用127.0.0.1代替
二:新增主机映射
[root@test test]# vi /etc/hosts
192.168.1.104 centos.localdomain centos
[root@test test]# ping centos
PING centos.localdomain (127.0.0.1) 56(84) bytes of data.
64 bytes from centos.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.019 ms
64 bytes from centos.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.020 ms
64 bytes from centos.localdomain (127.0.0.1): icmp_seq=3 ttl=64 time=0.024 ms
64 bytes from centos.localdomain (127.0.0.1): icmp_seq=4 ttl=64 time=0.020 ms
64 bytes from centos.localdomain (127.0.0.1): icmp_seq=5 ttl=64 time=0.018 ms
此时可以在配置文件中使用centos,服务器会将centos解析为127.0.0.1
至此 问题解决.