【友云音】【问题排查记录-9】master启动异常

问题现象

Windows操作系统,单机垂直集群,uap中间件,1个master+2个server。

每个server端增加了jvm参数后,各个server启动正常,但master启动不起来。每次启动master都会生成javacore文件。

问题分析

查看javacore发现。程序一般保护性错误导致系统崩溃

查看前台输出日志发现

...

nc.bs.framework.exception.ConnectorSocketException: Remote request socket error
	at nc.bs.framework.comn.cli.JavaURLCommunicator.request(JavaURLCommunicator.java:110)
	at nc.bs.framework.comn.cli.ClientProxyImpl.urlCall(ClientProxyImpl.java:201)
	at nc.bs.framework.comn.cli.ClientProxyImpl.invoke(ClientProxyImpl.java:148)
	at $Proxy5.getAllLanguages(Unknown Source)
	at nc.bs.ml.NCLangResOnserver.getAllLanguages(NCLangResOnserver.java:40)
	at nc.vo.ml.AbstractNCLangRes.getAllLanguagesAsHM(AbstractNCLangRes.java:33)
	at nc.vo.ml.AbstractNCLangRes.getLanguage(AbstractNCLangRes.java:50)
	at nc.bs.ml.NCLangResOnserver.getCurrLanguage(NCLangResOnserver.java:161)
	at nc.vo.ml.AbstractNCLangRes.getStringByPath(AbstractNCLangRes.java:87)
	at nc.vo.ml.AbstractNCLangRes.getStrByID(AbstractNCLangRes.java:72)
	at nc.bs.sm.login.AccountXMLProcessor.start(AccountXMLProcessor.java:26)
	at nc.bs.framework.core.AbstractGenericContainer.startActive(AbstractGenericContainer.java:366)
	at nc.bs.framework.core.AbstractGenericContainer.internalStart(AbstractGenericContainer.java:250)
	at nc.bs.framework.core.AbstractGenericContainer.start(AbstractGenericContainer.java:208)
	at nc.bs.framework.core.AbstractDeployer.start(AbstractDeployer.java:69)
	at nc.bs.framework.server.deploy.ModulesMonitor.deploy(ModulesMonitor.java:207)
	at nc.bs.framework.server.deploy.ModulesMonitor.scanModules(ModulesMonitor.java:178)
	at nc.bs.framework.server.deploy.ModulesMonitor.start(ModulesMonitor.java:86)
	at nc.bs.framework.server.BusinessAppServer.afterInternalStart(BusinessAppServer.java:322)
	at nc.bs.framework.core.AbstractGenericContainer.start(AbstractGenericContainer.java:209)
	at nc.bs.framework.server.WebApplicationStartupHook.contextInitialized(WebApplicationStartupHook.java:37)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:393)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:254)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:241)
	at java.net.Socket.connect(Socket.java:556)
	at java.net.Socket.connect(Socket.java:504)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:403)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:521)
	at sun.net.www.http.HttpClient.<init>(HttpClient.java:246)
	at sun.net.www.http.HttpClient.New(HttpClient.java:320)
	at sun.net.www.http.HttpClient.New(HttpClient.java:337)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:838)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:790)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:715)
	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:882)
	at nc.bs.framework.comn.cli.JavaURLCommunicator.request(JavaURLCommunicator.java:78)
	... 20 more
nc.bs.framework.exception.ConnectorSocketException: Remote request socket error
	at nc.bs.framework.comn.cli.JavaURLCommunicator.request(JavaURLCommunicator.java:110)
	at nc.bs.framework.comn.cli.ClientProxyImpl.urlCall(ClientProxyImpl.java:201)
	at nc.bs.framework.comn.cli.ClientProxyImpl.invoke(ClientProxyImpl.java:148)
	at $Proxy5.getAllLanguages(Unknown Source)
	at nc.bs.ml.NCLangResOnserver.getAllLanguages(NCLangResOnserver.java:40)
	at nc.vo.ml.AbstractNCLangRes.getAllLanguagesAsHM(AbstractNCLangRes.java:33)
	at nc.vo.ml.AbstractNCLangRes.getLanguage(AbstractNCLangRes.java:50)
	at nc.bs.ml.NCLangResOnserver.getCurrLanguage(NCLangResOnserver.java:161)
	at nc.vo.ml.AbstractNCLangRes.getStringByPath(AbstractNCLangRes.java:87)
	at nc.vo.ml.AbstractNCLangRes.getStrByID(AbstractNCLangRes.java:72)
	at nc.bs.sm.login.AccountXMLProcessor.start(AccountXMLProcessor.java:26)
	at nc.bs.framework.core.AbstractGenericContainer.startActive(AbstractGenericContainer.java:366)
	at nc.bs.framework.core.AbstractGenericContainer.internalStart(AbstractGenericContainer.java:250)
	at nc.bs.framework.core.AbstractGenericContainer.start(AbstractGenericContainer.java:208)
	at nc.bs.framework.core.AbstractDeployer.start(AbstractDeployer.java:69)
	at nc.bs.framework.server.deploy.ModulesMonitor.deploy(ModulesMonitor.java:207)
	at nc.bs.framework.server.deploy.ModulesMonitor.scanModules(ModulesMonitor.java:178)
	at nc.bs.framework.server.deploy.ModulesMonitor.start(ModulesMonitor.java:86)
	at nc.bs.framework.server.BusinessAppServer.afterInternalStart(BusinessAppServer.java:322)
	at nc.bs.framework.core.AbstractGenericContainer.start(AbstractGenericContainer.java:209)
	at nc.bs.framework.server.WebApplicationStartupHook.contextInitialized(WebApplicationStartupHook.java:37)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:393)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:254)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:241)
	at java.net.Socket.connect(Socket.java:556)
	at java.net.Socket.connect(Socket.java:504)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:403)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:521)
	at sun.net.www.http.HttpClient.<init>(HttpClient.java:246)
	at sun.net.www.http.HttpClient.New(HttpClient.java:320)
	at sun.net.www.http.HttpClient.New(HttpClient.java:337)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:838)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:790)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:715)
	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:882)
	at nc.bs.framework.comn.cli.JavaURLCommunicator.request(JavaURLCommunicator.java:78)
	... 20 more

...

 怀疑是使用了IBM jdk导致。让一线顾问排查发现,确实客户使用的是IBM的jdk,把NC自带的ufjdk路径下的内容删除,替换成IBMjdk的内容。

友云音在部署NC5系列产品时,NC和WAS中间件所使用的参数是不同的。使用IBM的jdk也应当视为使用WAS中间件。

解决办法

2种办法都可解决此类问题。

  1. 在master参数前增加-Xjit:exclude={com/cn/bup/Hsed.*} 参数,重启master即可。
  2. 把jdk从IBM的换成Oracle的即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值