首页 > 解决方案 > ambari + 无法通过端口 8088 访问资源管理器 WebUI

问题描述

我们有带版本的 HDP 集群2.6.5

集群包括 2 个资源管理器服务,它们是 YARN 的一部分

集群在过去 2 年运行良好,但今天我们注意到我们无法8088从 ambari访问端口

在 Ambari 中,我们可以看到一个资源管理器处于活动状态,第二个处于备用状态,此时第一个资源管理器在 master01 机器上,第二个在 master02 机器上。

在此处输入图像描述

从资源管理器日志中我们可以看到以下日志

2021-07-16 09:12:14,974 ERROR mortbay.log (Slf4jLog.java:warn(87)) - /ws/v1/cluster/apps
javax.ws.rs.WebApplicationException: javax.xml.bind.MarshalException
- with linked exception:
[javax.xml.stream.XMLStreamException: org.mortbay.jetty.EofException]
               at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:159)
               at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:306)
               at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1437)
Caused by: javax.xml.bind.MarshalException
- with linked exception:
[javax.xml.stream.XMLStreamException: org.mortbay.jetty.EofException]
               at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:327)
               at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:177)
               at com.sun.jersey.json.impl.BaseJSONMarshaller.marshallToJSON(BaseJSONMarshaller.java:103)
               at com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider.writeTo(JSONRootElementProvider.java:136)
               at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:157)
               ... 45 more

2021-07-16 09:12:15,077 ERROR mortbay.log (Slf4jLog.java:warn(87)) - /ws/v1/cluster/apps
javax.ws.rs.WebApplicationException: javax.xml.bind.MarshalException
- with linked exception:
[javax.xml.stream.XMLStreamException: org.mortbay.jetty.EofException].
.
.
Caused by: javax.xml.bind.MarshalException
- with linked exception:
[javax.xml.stream.XMLStreamException: org.mortbay.jetty.EofException]
               at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:327)
               at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:177)
               at com.sun.jersey.json.impl.BaseJSONMarshaller.marshallToJSON(BaseJSONMarshaller.java:103)
               at com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider.writeTo(JSONRootElementProvider.java:136)
               at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:157)
               ... 45 more

据我所知,我对“管道损坏”的最常见原因是一台机器(通过套接字通信的一对机器)在通信完成之前关闭了它的套接字末端。

但是我们不明白为什么(YARN)资源管理器因“Broken pipe”而失败</p>

从 Ambari 访问 yarn --> config 可以看到与 8088 端口相关的参数

yarn.resourcemanager.webapp.address             master01.BD101.com:8088
yarn.resourcemanager.webapp.address.rm1      master01.BD101.com:8088
yarn.resourcemanager.webapp.address.rm2      master02.BD101.com:8088

所以我们不确定我们的问题是否相关,但是使用 IP 作为0.0.0.0 机器的主机名可能更好?

目前的情况是我们停止了 master01 机器上的资源管理器,

然后重启master02机器上的资源管理器,现在我们可以通过VIA端口访问网页了8088

但是当两个资源管理器都处于活动状态而第二个处于待机状态时,问题再次出现,我们无法访问端口8088以获取 ambari 网页

关于如何找到解决这个问题的任何想法?

其他有用的帖子 - https://blog.bishwapoudel.com.np/fix-broken-pipe-exception-wildfly?x-host=blog.bishwapoudel.com.np

标签: javahadoophadoop-yarnambarihdp

解决方案


推荐阅读