com.ibm.ws.management.webserver.ServerNotAvailableException
当在WebSphere配置好IHS后,在管理控制台尝试启动他的时候会报类似:"Could not make a connection to the node agent or IBM HTTP Server administration server on node <nodename>"的错误。而dmgr的日志SystemOut.log显示有com.ibm.ws.management.webserver.ServerNotAvailableException。
这时候要考虑WebSphere怎么控制IHS的:
- IP/HostName:WebSphere通过IP/HostName来找到IHS安装的机器
- 安装路径:主要是指定Plugins的设置和后续传递Plugins的设置
- 端口:两个端口设置,一个是默认的80,一个是默认的8008。后者用来控制启停IHS,前者则可以提供WebSphere用来检测IHS状态(也是生产系统访问HTTP的默认端口。)
那么报这个错就从这三个方面来寻找原因:是什么导致无法连接,或者连接失败的?即可解决问题。
PS:我遇到的这个问题就是因为第一个原因造成的。由于WebSphere不能输入带有"_"的hostname,我在设置非管制节点的时候,指定的主机名填写的是IP地址(IP_A)。但是没有考虑到实际上这个IP是个映射的IP。也就是说从我访问管理控制台的机器访问可以使用IP_A来访问到IHS的机器,甚至可以使用Telnet测试到8008和80端口都是可用。
最初没有考虑到实际上WebSphere控制IHS是通过安装管理控制台的主机来发请求到IHS的主机来实现的,也就是说输入的IP(实际上Hostname也必须是)必须是从管理控制台访问IHS的IP。因此不论填IP或是Hostname,必须保证从管理控制台主机可以通过这个IP和hostname连接到IHS的机器,并且保证80和8008端口没有被防火墙屏蔽。