(本文档仅供参考)
问题描述:
挖掘引擎连接失败,Http status code:404
...
代码块 | ||
---|---|---|
| ||
2022-03-17 02:20:54.184 [19] INFO v1.ServerRest.checkSmartbixConnection:121 - 正在向smartbix平台发起请求,url是:http://192.168.0.97:18080/smartbi/smartbix/api/datamining/testConnection 2022-03-17 02:20:54.185 [19] INFO util.SmartbiTokenHttpAuthenticator.executeAuthenticate:158 - Apply for a token 2022-03-17 02:20:54.193 [19] WARN util.HttpConnectUtils.execute:363 - Request url:http://192.168.0.97:18080/smartbi/smartbix/api/monitor/token Http status code:404 Http response:<html><head><title>Apache Tomcat/7.0.85 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /smartbi/smartbix/api/monitor/token</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/smartbi/smartbix/api/monitor/token</u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.85</h3></body></html> 2022-03-17 02:20:54.194 [19] ERROR util.SmartbiTokenHttpAuthenticator.checkApplyResult:218 - Failed to apply for a token,(statusCode:404,content:<html><head><title>Apache Tomcat/7.0.85 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /smartbi/smartbix/api/monitor/token</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/smartbi/smartbix/api/monitor/token</u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.85</h3></body></html>) 2022-03-17 02:20:54.195 [19] WARN server.HttpChannel.handleException:600 - /api/v1/server/checkSmartbixConnection javax.servlet.ServletException: smartbix.datamining.engine.exception.HttpClientException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1. Request url:http://192.168.0.97:18080/smartbi/smartbix/api/datamining/testConnection at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:391) ~[jersey-container-servlet-core-2.8.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:382) ~[jersey-container-servlet-core-2.8.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:345) ~[jersey-container-servlet-core-2.8.jar:?] at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:220) ~[jersey-container-servlet-core-2.8.jar:?] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763) ~[jetty-servlet-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:563) ~[jetty-servlet-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[jetty-servlet-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) ~[jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) [jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) [jetty-server-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [jetty-io-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [jetty-io-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [jetty-io-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [jetty-util-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [jetty-util-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [jetty-util-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [jetty-util-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) [jetty-util-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) [jetty-util-9.4.33.v20201020.jar:9.4.33.v20201020] at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) [jetty-util-9.4.33.v20201020.jar:9.4.33.v20201020] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212] Caused by: smartbix.datamining.engine.exception.HttpClientException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1. Request url:http://192.168.0.97:18080/smartbi/smartbix/api/datamining/testConnection at smartbix.datamining.engine.util.HttpConnectUtils.execute(HttpConnectUtils.java:268) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.HttpConnectUtils.httpGet(HttpConnectUtils.java:61) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.experiment.accept.restful.v1.ServerRest.checkSmartbixConnection(ServerRest.java:122) ~[EngineExperiment-1.0-SNAPSHOT.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_212] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_212] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:252) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1023) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372) ~[jersey-container-servlet-core-2.8.jar:?] ... 29 more Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 at com.google.gson.Gson.fromJson(Gson.java:815) ~[gson-2.2.4.jar:?] at com.google.gson.Gson.fromJson(Gson.java:768) ~[gson-2.2.4.jar:?] at com.google.gson.Gson.fromJson(Gson.java:717) ~[gson-2.2.4.jar:?] at smartbix.datamining.engine.util.SmartbiTokenHttpAuthenticator.checkApplyResult(SmartbiTokenHttpAuthenticator.java:224) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.SmartbiTokenHttpAuthenticator.executeAuthenticate(SmartbiTokenHttpAuthenticator.java:162) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.SmartbiTokenHttpAuthenticator.authenticate(SmartbiTokenHttpAuthenticator.java:76) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.HttpConnectUtils.createHttpClient(HttpConnectUtils.java:404) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.HttpConnectUtils.execute(HttpConnectUtils.java:262) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.HttpConnectUtils.httpGet(HttpConnectUtils.java:61) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.experiment.accept.restful.v1.ServerRest.checkSmartbixConnection(ServerRest.java:122) ~[EngineExperiment-1.0-SNAPSHOT.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_212] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_212] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:252) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1023) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372) ~[jersey-container-servlet-core-2.8.jar:?] ... 29 more Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:374) ~[gson-2.2.4.jar:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:183) ~[gson-2.2.4.jar:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) ~[gson-2.2.4.jar:?] at com.google.gson.Gson.fromJson(Gson.java:803) ~[gson-2.2.4.jar:?] at com.google.gson.Gson.fromJson(Gson.java:768) ~[gson-2.2.4.jar:?] at com.google.gson.Gson.fromJson(Gson.java:717) ~[gson-2.2.4.jar:?] at smartbix.datamining.engine.util.SmartbiTokenHttpAuthenticator.checkApplyResult(SmartbiTokenHttpAuthenticator.java:224) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.SmartbiTokenHttpAuthenticator.executeAuthenticate(SmartbiTokenHttpAuthenticator.java:162) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.SmartbiTokenHttpAuthenticator.authenticate(SmartbiTokenHttpAuthenticator.java:76) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.HttpConnectUtils.createHttpClient(HttpConnectUtils.java:404) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.HttpConnectUtils.execute(HttpConnectUtils.java:262) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.util.HttpConnectUtils.httpGet(HttpConnectUtils.java:61) ~[EngineCore-1.0-SNAPSHOT.jar:?] at smartbix.datamining.engine.experiment.accept.restful.v1.ServerRest.checkSmartbixConnection(ServerRest.java:122) ~[EngineExperiment-1.0-SNAPSHOT.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_212] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_212] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) ~[jersey-common-2.8.jar:?] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:252) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1023) ~[jersey-server-2.8.jar:?] at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372) ~[jersey-container-servlet-core-2.8.jar:?] ... 29 more |
问题原因:
对应的URL地址无法访问成功
排查思路:
1、版本是否已经更新至一致,若不一致会有以下报错
...
3、smartbi与挖掘之间的ip能否ping通,端口能否telnet,若是部署在容器内没有ping命令可以使用curl命令测试
4、Smartbi的war包是否部署在根目录或Smartbi的war包名称是否修改,如下图需要将对应的URL链接也修改为修改后的war包名称: 4、Smartbi的war包是否部署在根目录或Smartbi的war包名称是否修改,如下图需要将对应的URL链接也修改为修改后的Smartbi war包名称:
解决方案:
修改URL链接: 修改如下截图中的URL链接,链接示例如下 :
http://smartbi-tomcat:18080/smartbi/smartbix/api/monitor
...