Skip To Content

GeoAnalytics 健康检查

健康检查操作可指示 GeoAnalytics Server 计算平台内的计算资源和作业的状态,即 GeoAnalytics Server 在多个 GeoAnalytics Server 内核和计算机中分配分析的基础框架。

该操作用于故障排除和监控,可供服务器或门户管理员使用,可通过使用 URL 格式 https://gis_geoanalytics_server.domain.com:6443/arcgis/admin 登录到您的 ArcGIS Server Administrator Directory 来对其进行访问。 要打开健康检查,请从 GeoAnalytics Server 站点开始,然后单击系统 > 平台服务 > 计算平台 > 健康

可以使用健康检查操作执行以下操作:

  • 验证并识别正在用于分析的 GeoAnalytics Server 计算机。
  • 运行分析(或运行工具)时,验证已分配的内存和内核是否正在使用中。
  • 检查在 GeoAnalytics Server 计算机上可用的内核或内存数量。 如果使用 GeoAnalytics Server 设置,则此操作非常有用。

    了解有关 GeoAnalytics Server 设置的详细信息

  • 查找 GeoAnalytics Server 作业的 jobID 以查看 REST 端点。
  • 故障排除并解决错误消息。
    注:

    如果收到错误无法初始化分布式计算平台服务,请完成健康检查操作并检查工作节点的状态。 检查完节点的状态后,请完成常见 GeoAnalytics Server 问题和解决方案中列出的步骤。

注:

ArcGIS Monitor 中也提供 GeoAnalytics Server 健康检查。

了解有关 ArcGIS Monitor 的详细信息

计算平台健康检查使用基础框架中用于分配分析的术语。 下表概述了本文档中使用的术语和概念:

术语描述

节点

服务器计算机。

工作人员

用于计算的计算机。 工作计算机可接收来自主计算机的指令并执行这些指令。 一台主计算机可以有一台或多台工作计算机。

主节点

用于监控工作节点的服务器。 服务器既可以是主节点,也可以是工作节点。 在 Spark 中,这称为主节点。

作业

作业是指运行 GeoAnalytics Server 工具。

健康检查由包含单个值或数组的键组成。 运行并完成 GeoAnalytics Server 作业后,对于站点中的每台 GeoAnalytics Server 计算机,健康检查将具有以下键:

{
  "<geoanalytics server machine name>":{
  {.. url ..},
  {.. workers ..},
  {.. aliveworkers ..},
  {.. cores ..},
  {.. coresused ..},
  {.. memory ..},
  {.. memoryused ..},
  {.. resources ..},
  {.. resourcesused ..},
  {.. activeapps ..},
  {.. completedapps ..},
  {.. activedrivers ..},
  {.. completeddrivers ..},
  {.. status ..}
}

如果站点中有多台计算机,则将存在多个 geoanalytics service machine name keys。 仅主节点计算机将包含资源和作业信息。 工作节点计算机将仅包含 null0 值。 在每个顶层服务器对象中,以下键包含一组值:workersactiveappscompletedappsactivedrivers。 顶层键的 urlcorescoresusedmemorymemoryusedstatus 具有单个值。

将使用以下示例更加详细地介绍每个键:

  • 示例 1:一个单机 GeoAnalytics Server 站点。
    • 每台计算机都具有 32 GB (32768 MB) RAM 和 8 个 CPU 内核。
    • 系统属性设置为使用最大 90% 的可用 RAM 和核。
      • GeoAnalytics Server 将使用每台计算机 29491 MB 的 RAM。 该结果可通过以下方程计算得出:
        floor(32768 x .90) = 29491
      • GeoAnalytics Server 将使用 7 个内核。 该结果可通过以下方程计算得出:
        floor(8 cores x 1 machines x .90) = 7
  • 示例 2:一个三机 GeoAnalytics Server 站点。
    • 每台计算机都具有 16 GB (16384 MB) RAM 和 4 个 CPU 内核。
    • 系统属性默认使用最大 80% 的可用 RAM 和内核。
      • GeoAnalytics Server 将使用每台计算机 13107 MB 的 RAM。 该结果可通过以下方程计算得出:
        floor(16384 x .80)= 13107
      • GeoAnalytics Server 将使用所有计算机的 9 个内核。 该结果可通过以下方程计算得出:
        floor(4 cores x 3 machines x .80) = 9

站点信息和资源

本节中将介绍 urlcorescoresusedmemorymemoryusedstatus 键。 如果 GeoAnalytics Server 站点中有多台计算机,则将存在多个 url 键。 将填充其中一个 url 键的值,如以下示例所示。 所有其他 url 键的值将为 0,并且将不会列出工作计算机。 具有填充值的 URL 为主节点;其他 URL 是表示为工作节点而非主节点的计算机。 activedrivers 键始终为空数组。

示例 1 - 单机站点示例 2 - 三机站点

{
   "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",
       "workers": [
           {
               ...worker1...
           }
       ],
       "aliveworkers": 1,
       "cores": 7,
       "coresused": 7,
       "memory": 29491,
       "memoryused": 29491,
       "resources":[{}],
       "resourcesused":[{}],
       "activeapps": [ ... ],
       "completedapps": [ ... ],
       "activedrivers": [],
       "completeddrivers": [],
       "status": "ALIVE"
   }
}

{
 "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",
       "workers": [
           {
               ...worker1...
           },
           {
               ...worker2...
           },
           {
               ...worker3...
           }
       ],
       "aliveworkers": 3,
       "cores": 9,
       "coresused": 9,
       "memory": 13107,
       "memoryused": 13107,
       "resources":[{}],
       "resourcesused":[{}],
       "activeapps": [ ... ],
       "completedapps": [ ... ],
       "activedrivers": [],
       "completeddrivers": [],
       "status": "ALIVE"
   },
   "machine2.example-esri.com": {
       "url": "spark://machine2.example-esri.com:7077",
       "workers": [],
       "aliveworkers": 0,
       "cores": 0,
       "coresused": 0,
       "memory": 0,
       "memoryused": 0,
       "resources":[{}],
       "resourcesused":[{}],
       "activeapps": [],
       "completedapps": [],
       "activedrivers": [],
       "completeddrivers": [],
       "status": "STANDBY"
   },
   "machine3.example-esri.com": {
       "url": "spark://machine3.example-esri.com:7077",
       "workers": [],
       "aliveworkers": 0,
       "cores": 0,
       "coresused": 0,
       "memory": 0,
       "memoryused": 0,
       "resources":[{}],
       "resourcesused":[{}],
       "activeapps": [],
       "completedapps": [],
       "activedrivers": [],
       "completeddrivers": [],
       "status": "STANDBY"
   }
}

描述

  • url - 带有 Spark 前缀和 Spark 端口的 GeoAnalytics Server 计算机的 URL。 每台计算机仅列出一个 URL。
  • cores - 站点中所有 GeoAnalytics Server 计算机可用于 GeoAnalytics Server 的内核总数。 这表示可用内核总数乘以 percentageMaxAllowedComputeCores 设置(默认为 80%)。

    了解有关设置 percentageMaxAllowedComputeCores 的详细信息。

  • coresused - GeoAnalytics Server 站点中所有计算机当前用于 GeoAnalytics Server 分析的内核总数。
  • memory - 站点中所有 GeoAnalytics Server 计算机可用于 GeoAnalytics Server 的可用内存总量 (MB)。 这表示每台计算机上的内存量乘以 percentageMaxAllowedComputeMemory 及计算机的数量。
  • memoryused - GeoAnalytics Server 站点中所有计算机当前用于 GeoAnalytics Server 分析的内存总量。
  • resources - 始终为空数组。
  • resourcesused - 始终为空数组。
  • activeapps - 作业当前正在运行。
  • completedapps - 作业已运行完成。
  • activedrivers - 始终为空数组。
  • completeddrivers - 始终为空数组。
  • status - 计算机的状态。

工作人员

workers 键可将计算机和信息标识为 GeoAnalytics Server 站点的一部分。

示例 1 - 单机站点示例 2 - 三机站点
{
   "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",
       "workers": [
           {
               "id": "worker-20180302114515-10.33.9.162-56544",
               "host": "10.33.9.162",
               "port": 56544,
               "cores": 3,
               "coresused": 3,
               "coresfree": 0,
               "memory": 29491,
               "memoryused": 29491,
               "memoryfree": 0,
               "resources": {},
               "resourcesused": {},
               "resourcesfree": {},
               "state": "ALIVE",
               "lastheartbeat": 1520469707880,
               "lastheartbeatString": "2018-03-07T04:41:47,880",
               "hostname": "machine1.example-esri.com"
           }
       ],
    ...
    }
   }
}
{
   "machine1.example-esri.com": {
       "url": "machine1.example-esri.com:7077",
       "workers": [
           {
               "id": "worker-20180302114515-10.33.9.162-56544",
               "host": "10.33.9.162",
               "port": 56544,
               "cores": 3,
               "coresused": 3,
               "coresfree": 0,
               "memory": 13107,
               "memoryused": 13107,
               "memoryfree": 0,
               "resources": {},
               "resourcesused": {},
               "resourcesfree": {},
               "state": "ALIVE",
               "lastheartbeat": 1520469707880,
               "lastheartbeatString": "2018-03-07T04:41:47,880",
               "hostname": "machine1.example-esri.com"
           },
           {
               "id": "worker-20180302114111-10.33.10.149-56543",
               "host": "10.33.10.149",
               "port": 56543,
               "cores": 3,
               "coresused": 3,
               "coresfree": 0,
               "memory": 13107,
               "memoryused": 13107,
               "memoryfree": 0,
               "resources": {},
               "resourcesused": {},
               "resourcesfree": {},
               "state": "ALIVE",
               "lastheartbeat": 1520469712961,
               "lastheartbeatString": "2018-03-07T04:41:52,961",
               "hostname": "machine2.example-esri.com"
           },
           {
               "id": "worker-20180302113155-10.33.9.165-56540",
               "host": "10.33.9.165",
               "port": 56540,
               "cores": 3,
               "coresused": 3,
               "coresfree": 0,
               "memory": 13107,
               "memoryused": 13107,
               "memoryfree": 0,
               "resources": {},
               "resourcesused": {},
               "resourcesfree": {},
               "state": "ALIVE",
               "lastheartbeat": 1520469712874,
               "lastheartbeatString": "2018-03-07T04:41:52,874",
               "hostname": "machine3.example-esri.com"
           }
       ],
    ...
    },    
   "machine2.example-esri.com": {...},
   "machine3.example-esri.com": {...}
   }
}

描述

  • id - 工作计算机的唯一 ID。
  • host - 计算机的主机地址。
  • port - 用于 GeoAnalytics Server 分析的计算机端口。 已为每台工作计算机分配其自己的端口。 必须打开这些端口才能进行通信。
  • cores - 计算机上分配给 GeoAnalytics Server 分析的内核数量。 可使用 GeoAnalytics Server 设置进行设置并表示 percentageMaxAllowedComputeCores 设置。
  • coresused - 当前用于 GeoAnalytics Server 分析的内核总数。 如果任何 GeoAnalytics Tools 正在运行,则此值需要大于 0。
  • coresfree - 计算机上当前空闲且可立即用于 GeoAnalytics Server 分析的内核数量。 如果此数量等于所有计算机上的 cores,则当前未运行任何 GeoAnalytics Tools
  • memory - 计算机上分配给 GeoAnalytics Server 分析的内存量 (MB)。 可使用 GeoAnalytics Server 设置进行设置并表示 percentageMaxAllowedComputeMemory 设置。
  • memoryused - 指定计算机上当前用于 GeoAnalytics Server 分析的内存量 (MB)。
  • memoryfree - 计算机上当前空闲且可立即用于 GeoAnalytics Server 分析的内存量 (MB)。 要运行 GeoAnalytics Toolsmemoryfree 数量必须大于或等于在每台计算机的服务器设置中设置的数量。
  • resources - 工作计算机的资源总数。 此值始终为空值。
  • resourcesused - 为工作计算机分配的资源。 此值始终为空值。
  • resourcesfree - 工作计算机的空闲资源。 此值始终为空值。
  • state - 当前计算机的状态。 ALIVE 已打开,准备好运行或正在运行一个作业。 启动作业后,STANDBY 将切换到 ALIVEDEAD 可能有错误,并且应该重新启动 GeoAnalytics ServerUNKNOWN 可能有错误,并且应该重新启动 GeoAnalytics Server。 如果无法将计算机从 DEADUNKNOWN 切换到 ALIVESTANDBY,请联系 Esri 支持中心。
  • lastheartbeat - 当前计算机上次联系主节点的时间,以新纪元毫秒为单位。 该结果按计算机的所在地时间计算得出。
  • lastheartbeatString - 当前计算机上次以字符串格式联系主节点的时间。 该结果按计算机的所在地时间计算得出。
  • hostname - 工作计算机的主机名。

完成的应用程序

completedapps 键可标识已完成的 GeoAnalytics Server 工具和信息。 其中包括成功完成的工具和导致失败的工具。 重新启动 GeoAnalytics Server 时,将清除完成的应用程序信息。

示例 1 - 单机站点示例 2 - 三机站点
{
   "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",
       "workers": [...],
       ...,
       "activeapps": [...],
       "completedapps": [
           {
               "starttime": 1520469691617,
               "id": "app-20180307164131-0008",
               "name": "ArcGIS GeoAnalytics (jcb8bda25a3f14dc7835dca0b3267b42c)",
               "cores": 7,
               "user": "agstest",
               "memoryperslave": 29491,
               "resourcesperslave": [],
               "submitdate": "Wed Mar 07 16:41:31 PST 2018",
               "state": "FINISHED",
               "duration": 21947
           }
       ],
       "activedrivers": [],
       "completeddrivers": [],
       "status": "ALIVE"
   }
}
{
   "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",
       "workers": [...],
       ...,
       "activeapps": [...],
       "completedapps": [
           {
               "starttime": 1520469691617,
               "id": "app-20180307164131-0008",
               "name": "ArcGIS GeoAnalytics (jcb8bda25a3f14dc7835dca0b3267b42c)",
               "cores": 9,
               "user": "agstest",
               "memoryperslave": 13107,
               "resourcesperslave": [],
               "submitdate": "Wed Mar 07 16:41:31 PST 2018",
               "state": "FINISHED",
               "duration": 21947
           }
       ],
       "activedrivers": [],
       "completeddrivers": [],
       "status": "ALIVE"
   },
   "machine2.example-esri.com": {...},
   "machine3.example-esri.com": {...}
}

描述

  • starttime - GeoAnalytics Tools 作业开始运行的时间,以新纪元毫秒为单位。
  • id - 作业的唯一 ID。
  • name - 作业的名称。 将始终使用 ArcGIS GeoAnalytics (<jobID>) 格式。 运行作业时,jobID 是用于 REST 端点的相同 jobID
  • cores - 所有计算机上用于分析的内核总数。
  • user - 运行作业的用户。 即设置 ArcGIS Server 的用户,并且在您的站点上将始终保持不变。 并非运行该作业的门户成员。
  • memoryperslave - 每台计算机上使用的内存量。
  • resourcesperslave - 每台计算机上使用的资源量。
  • submitdate - GeoAnalytics Tools 作业开始运行的时间,采用可读文本格式。
  • state - 当前作业的状态。 FINISHED 表示此作业已完成。 作业可能已成功完成或导致错误。
  • duration - 作业的总持续时间,以毫秒为单位。

活动应用程序

activeapps 键可标识当前正在运行的 GeoAnalytics Tools 及其信息。 完成作业后,可将信息移至 completedapps 对象。

示例 1 - 单机站点示例 - 三机站点
{
   "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",
       "workers": [...],
       ...,
       "activeapps": [
           {
               "starttime": 1520464610794,
               "id": "app-20180307151650-0007",
               "name": "ArcGIS GeoAnalytics (j4b986eb5c603426fae7abe8e9d5d7afa)",
               "cores": 7,
               "user": "agstest",
               "memoryperslave": 29491,
               "resourcesperslave": [],
               "submitdate": "Wed Mar 07 15:16:50 PST 2018",
               "state": "RUNNING",
               "duration": 5105025
           }
       ],
       "completedapps": [...]
   }
}
{
   "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",
       "workers": [...],
       ...,
       "activeapps": [
           {
               "starttime": 1520464610794,
               "id": "app-20180307151650-0007",
               "name": "ArcGIS GeoAnalytics (j4b986eb5c603426fae7abe8e9d5d7afa)",
               "cores": 9,
               "user": "agstest",
               "memoryperslave": 13107,
               "resourcesperslave": [],
               "submitdate": "Wed Mar 07 15:16:50 PST 2018",
               "state": "RUNNING",
               "duration": 5105025
           }
       ],
       "completedapps": [...]
   },
   "machine2.example-esri.com": {...},
   "machine3.example-esri.com": {...}
}

描述

  • starttime - GeoAnalytics Tools 开始运行的时间,以新纪元毫秒为单位。
  • id - 作业的唯一 ID。
  • name - 作业的名称。 将始终使用 ArcGIS GeoAnalytics (<jobID>) 格式。 运行作业时,jobID 是用于 REST 端点的相同作业 ID。
  • cores - 所有计算机上用于分析的内核总数。
  • user - 运行作业的用户。 即设置 ArcGIS Server 的用户,并且在您的站点上将始终保持不变。 并非运行该作业的门户成员。
  • memoryperslave - 每台计算机上使用的内存量。
  • resourcesperslave - 每台计算机上使用的资源量。
  • submitdate - GeoAnalytics Tools 开始运行的时间,采用可读文本格式。
  • state - 当前作业的状态。 RUNNING 表示作业已开始。 WAITING 表示作业将等待一分钟,以确定是否有足够的资源。 如果一分钟内没有足够的资源,则该作业将取消。 如果有足够的资源,则 RUNNING 将开始启动。
  • duration - 作业的当前持续时间,以毫秒为单位。