要仅对NM启用跨域支持(CORS)(不对RM启用跨域支持),请设置以下配置参数:
在core-site.xml中,将org.apache.hadoop.security.HttpCrossOriginFilterInitializer添加到hadoop.http.filter.initializers中。在yarn-site.xml中,将yarn.nodemanager.webapp.cross-origin.enabled设置为true。
节点信息资源提供有关该特定节点的总体信息。
物产 | 数据类型 | 描述 |
---|---|---|
ID | 长 | NodeManager ID |
nodeHostName | 串 | NodeManager的主机名 |
totalPmemAllocatedContainersMB | 长 | 分配给容器使用的物理内存量,以MB为单位 |
totalVmemAllocatedContainersMB | 长 | 分配给容器使用的虚拟内存量,以MB为单位 |
totalVCoresAllocatedContainers | 长 | 分配供容器使用的虚拟核心数 |
vmemCheckEnabled | 布尔值 | 是否为抢占启用了虚拟内存检查 |
pmemCheckEnabled | 布尔值 | 是否为抢占启用了物理内存检查 |
lastNodeUpdateTime | 长 | 收到运行状况报告的最后时间戳(自时期以来以毫秒为单位) |
nmStartupTime | 长 | 节点启动的时间戳(自纪元以来的毫秒数) |
健康报告 | 串 | 节点的诊断健康报告 |
节点健康 | 布尔值 | 节点是否健康的真/假指示 |
nodeManagerVersion | 串 | NodeManager的版本 |
nodeManagerBuildVersion | 串 | 具有版本,用户和校验和的NodeManager构建字符串 |
nodeManagerVersionBuiltOn | 串 | 构建NodeManager的时间戳(自纪元以来以毫秒为单位) |
hadoopVersion | 串 | Hadoop通用版本 |
hadoopBuildVersion | 串 | 具有构建版本,用户和校验和的Hadoop通用构建字符串 |
hadoopVersionBuiltOn | 串 | 建立hadoop common的时间戳(自纪元以来以毫秒为单位) |
JSON回应
HTTP请求:
获取http:// nm-http-address:port / ws / v1 / node / info
响应标题:
HTTP / 1.1 200 OK 内容类型:application / json 传输编码:分块 服务器:码头(6.1.26)
响应主体:
{ “ nodeInfo”:{ “ healthReport”:“”, “ totalVmemAllocatedContainersMB”:17203, “ totalPmemAllocatedContainersMB”:8192, “ totalVCoresAllocatedContainers”:8 “ vmemCheckEnabled”:否, “ pmemCheckEnabled”:是的, “ lastNodeUpdateTime”:1485814574224, “ nodeHealthy”:是的, “ nodeManagerVersion”:“ 3.0.0”, “ nodeManagerBuildVersion”:“ 3.0.0”, “ nodeManagerVersionBuiltOn”:“ 2017-01-30T17:42Z”, “ hadoopVersion”:“ 3.0.0”, “ hadoopBuildVersion”:“ 3.0.0”, “ hadoopVersionBuiltOn”:“ 2017-01-30T17:39Z”, “ id”:“ host.domain.com:46077”, “ nodeHostName”:“ host.domain.com”, “ nmStartupTime”:1485800887841 } }
XML回应
HTTP请求:
接受:application / xml 获取http:// nm-http-address:port / ws / v1 / node / info
响应标题:
HTTP / 1.1 200 OK 内容类型:application / xml 内容长度:983 服务器:码头(6.1.26)
响应主体:
<?xml版本=“ 1.0”编码=“ UTF-8”独立=“是”?> <nodeInfo> <healthReport> </ healthReport> <totalVmemAllocatedContainersMB> 17203 </ totalVmemAllocatedContainersMB> <totalPmemAllocatedContainersMB> 8192 </ totalPmemAllocatedContainersMB> <totalVCoresAllocatedContainers> 8 </ totalVCoresAllocatedContainers> <vmemCheckEnabled> false </ vmemCheckEnabled> <pmemCheckEnabled> true </ pmemCheckEnabled> <lastNodeUpdateTime> 1485815774203 </ lastNodeUpdateTime> <nodeHealthy> true </ nodeHealthy> <nodeManagerVersion> 3.0.0 </ nodeManagerVersion> <nodeManagerBuildVersion> 3.0.0 </ nodeManagerBuildVersion> <nodeManagerVersionBuiltOn> 2017-01-30T17:42Z </ nodeManagerVersionBuiltOn> <hadoopVersion> 3.0.0 </ hadoopVersion> <hadoopBuildVersion> 3.0.0 </ hadoopBuildVersion> <hadoopVersionBuiltOn> 2017-01-30T17:39Z </ hadoopVersionBuiltOn> <id> host.domain.com:46077 </ id> <nodeHostName> host.domain.com </ nodeHostName> <nmStartupTime> 1485800887841 </ nmStartupTime> </ nodeInfo>
使用Applications API,您可以获得资源的集合,每个资源代表一个应用程序。在此资源上运行GET操作时,将获得应用程序对象的集合。另请参阅应用程序API,以了解应用程序对象的语法。
当您请求应用程序列表时,该信息将作为应用程序对象的集合返回。另请参阅应用程序API,了解应用程序对象的语法。
物产 | 数据类型 | 描述 |
---|---|---|
应用程式 | 应用程序对象数组(JSON)/零个或多个应用程序对象(XML) | 应用程序对象的集合 |
JSON回应
HTTP请求:
获取http:// nm-http-address:port / ws / v1 / node / apps
响应标题:
HTTP / 1.1 200 OK 内容类型:application / json 传输编码:分块 服务器:码头(6.1.26)
响应主体:
{ “应用” : { “ app”:[ { “ containerids”:[ “ container_1326121700862_0003_01_000001”, “容器_1326121700862_0003_01_000002” ], “ user”:“ user1”, “ id”:“ application_1326121700862_0003”, “ state”:“正在运行” }, { “ user”:“ user1”, “ id”:“ application_1326121700862_0002”, “ state”:“完成” } ] } }
XML回应
HTTP请求:
获取http:// nm-http-address:port / ws / v1 / node / apps 接受:application / xml
响应标题:
HTTP / 1.1 200 OK 内容类型:application / xml 内容长度:400 服务器:码头(6.1.26)
响应主体:
<?xml版本=“ 1.0”编码=“ UTF-8”独立=“是”?> <apps> <app> <id> application_1326121700862_0002 </ id> <state>完成</ state> <user> user1 </ user> </ app> <app> <id> application_1326121700862_0003 </ id> <状态>运行中</状态> <user> user1 </ user> <containerids> container_1326121700862_0003_01_000002 </ containerids> <containerids> container_1326121700862_0003_01_000001 </ containerids> </ app> </ apps>
应用程序资源包含有关已在此NodeManager上运行或正在运行的特定应用程序的信息。
物产 | 数据类型 | 描述 |
---|---|---|
ID | 串 | 申请编号 |
用户 | 串 | 启动应用程序的用户 |
州 | 串 | 应用程序的状态-有效状态为:新,正在初始化,正在运行,FINISHING_CONTAINERS_WAIT,APPLICATION_RESOURCES_CLEANINGUP,已完成 |
容器编号 | containerids(JSON)/零个或多个containerids(XML)的数组 | 应用程序当前在此节点上使用的容器标识列表。如果不存在,则该应用程序当前没有容器在运行。 |
JSON回应
HTTP请求:
GET http:// nm-http-address:port / ws / v1 / node / apps / application_1326121700862_0005
响应标题:
HTTP / 1.1 200 OK 内容类型:application / json 传输编码:分块 服务器:码头(6.1.26)
响应主体:
{ “ app”:{ “ containerids”:[ “ container_1326121700862_0005_01_000003”, “容器_1326121700862_0005_01_000001” ], “ user”:“ user1”, “ id”:“ application_1326121700862_0005”, “ state”:“正在运行” } }
XML回应
HTTP请求:
GET http:// nm-http-address:port / ws / v1 / node / apps / application_1326121700862_0005 接受:application / xml
响应标题:
HTTP / 1.1 200 OK 内容类型:application / xml 内容长度:281 服务器:码头(6.1.26)
响应主体:
<?xml版本=“ 1.0”编码=“ UTF-8”独立=“是”?> <app> <id> application_1326121700862_0005 </ id> <状态>运行中</状态> <user> user1 </ user> <containerids> container_1326121700862_0005_01_000003 </ containerids> <containerids> container_1326121700862_0005_01_000001 </ containerids> </ app>
使用容器API,您可以获得资源的集合,每个资源代表一个容器。在此资源上运行GET操作时,将获得容器对象的集合。另请参见Container API,以获取容器对象的语法。
当您请求容器列表时,该信息将作为容器对象的集合返回。另请参见Container API,以获取容器对象的语法。
物产 | 数据类型 | 描述 |
---|---|---|
货柜 | 容器对象数组(JSON)/零个或多个容器对象(XML) | 容器对象的集合 |
JSON回应
HTTP请求:
获取http:// nm-http-address:port / ws / v1 / node / containers
响应标题:
HTTP / 1.1 200 OK 内容类型:application / json 传输编码:分块 服务器:码头(6.1.26)
响应主体:
{ “容器”:{ “容器” : [ { “ nodeId”:“ host.domain.com:8041”, “ totalMemoryNeededMB”:2048, “ totalVCoresNeeded”:1, “ state”:“ RUNNING”, “诊断”:“”, “ containerLogsLink”:“ http://host.domain.com:8042/node/containerlogs/container_1326121700862_0006_01_000001/user1”, “ user”:“ user1”, “ id”:“ container_1326121700862_0006_01_000001”, “ exitCode”:-1000, “ executionType”:“ GUARANTEED”, “ containerLogFiles”:[ “ stdout”, “ stderr”, “系统日志” ] }, { “ nodeId”:“ host.domain.com:8041”, “ totalMemoryNeededMB”:2048, “ totalVCoresNeeded”:2 “ state”:“ RUNNING”, “诊断”:“”, “ containerLogsLink”:“ http://host.domain.com:8042/node/containerlogs/container_1326121700862_0006_01_000003/user1”, “ user”:“ user1”, “ id”:“ container_1326121700862_0006_01_000003”, “ exitCode”:-1000, “ executionType”:“ GUARANTEED”, “ containerLogFiles”:[ “ stdout”, “ stderr”, “系统日志” ] } ] } }
XML回应
HTTP请求:
获取http:// nm-http-address:port / ws / v1 / node / containers 接受:application / xml
响应标题:
HTTP / 1.1 200 OK 内容类型:application / xml 内容长度:988 服务器:码头(6.1.26)
响应主体:
<?xml版本=“ 1.0”编码=“ UTF-8”独立=“是”?> <容器> <容器> <id> container_1326121700862_0006_01_000001 </ id> <状态>运行中</状态> <exitCode> -1000 </ exitCode> <diagnostics /> <user> user1 </ user> <totalMemoryNeededMB> 2048 </ totalMemoryNeededMB> <totalVCoresNeeded> 1 </ totalVCoresNeeded> <containerLogsLink> http://host.domain.com:8042/node/containerlogs/container_1326121700862_0006_01_000001/user1 </ containerLogsLink> <nodeId> host.domain.com:8041 </ nodeId> <executionType>已保证</ executionType> <containerLogFiles> stdout </ containerLogFiles> <containerLogFiles> stderr </ containerLogFiles> <containerLogFiles> syslog </ containerLogFiles> </ container> <容器> <id> container_1326121700862_0006_01_000003 </ id> <state>完成</ state> <exitCode> 0 </ exitCode> <diagnostics>容器被ApplicationMaster杀死。</ diagnostics> <user> user1 </ user> <totalMemoryNeededMB> 2048 </ totalMemoryNeededMB> <totalVCoresNeeded> 2 </ totalVCoresNeeded> <containerLogsLink> http://host.domain.com:8042/node/containerlogs/container_1326121700862_0006_01_000003/user1 </ containerLogsLink> <nodeId> host.domain.com:8041 </ nodeId> <executionType>已保证</ executionType> <containerLogFiles> stdout </ containerLogFiles> <containerLogFiles> stderr </ containerLogFiles> <containerLogFiles> syslog </ containerLogFiles> </ container> </容器>
容器资源包含有关在此NodeManager上运行的特定容器的信息。
物产 | 数据类型 | 描述 |
---|---|---|
ID | 串 | 容器编号 |
州 | 串 | 容器状态-有效状态为:新,已定位,已定位_失败,已定位,正在运行,EXITED_WITH_SUCCESS,EXITED_WITH_FAILURE,杀死,CONTAINER_CLEANEDUP_AFTER_KILL,CONTAINER_RESOURCES_CLEANINGUP,已完成 |
nodeId | 串 | 容器所在节点的ID |
containerLogsLink | 串 | 容器日志的http链接 |
用户 | 串 | 启动容器的用户的用户名 |
exitCode | 整型 | 容器的退出代码 |
诊断 | 串 | 故障容器的诊断消息 |
totalMemoryNeededMB | 长 | 容器所需的总内存量(以MB为单位) |
需要的总VCores | 长 | 容器所需的虚拟核心总数 |
executionType | 串 | 保证类型或机会类型的容器 |
containerLogFiles | 字符串数组 | 容器日志文件名 |
JSON回应
HTTP请求:
GET http:// nm-http-address:port / ws / v1 / nodes / containers / container_1326121700862_0007_01_000001
响应标题:
HTTP / 1.1 200 OK 内容类型:application / json 传输编码:分块 服务器:码头(6.1.26)
响应主体:
{ “容器” : { “ nodeId”:“ host.domain.com:8041”, “ totalMemoryNeededMB”:2048, “ totalVCoresNeeded”:1, “ state”:“ RUNNING”, “诊断”:“”, “ containerLogsLink”:“ http://host.domain.com:8042/node/containerlogs/container_1326121700862_0007_01_000001/user1”, “ user”:“ user1”, “ id”:“ container_1326121700862_0007_01_000001”, “ exitCode”:-1000, “ executionType”:“ GUARANTEED”, “ containerLogFiles”:[ “ stdout”, “ stderr”, “系统日志” ] } }
XML回应
HTTP请求:
GET http:// nm-http-address:port / ws / v1 / node / containers / container_1326121700862_0007_01_000001 接受:application / xml
响应标题:
HTTP / 1.1 200 OK 内容类型:application / xml 内容长度:491 服务器:码头(6.1.26)
响应主体:
<?xml版本=“ 1.0”编码=“ UTF-8”独立=“是”?> <容器> <id> container_1326121700862_0007_01_000001 </ id> <状态>运行中</状态> <exitCode> -1000 </ exitCode> <diagnostics /> <user> user1 </ user> <totalMemoryNeededMB> 2048 </ totalMemoryNeededMB> <totalVCoresNeeded> 1 </ totalVCoresNeeded> <containerLogsLink> http://host.domain.com:8042/node/containerlogs/container_1326121700862_0007_01_000001/user1 </ containerLogsLink> <nodeId> host.domain.com:8041 </ nodeId> <executionType>已保证</ executionType> <containerLogFiles> stdout </ containerLogFiles> <containerLogFiles> stderr </ containerLogFiles> <containerLogFiles> syslog </ containerLogFiles> </ container>