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 作业数量。
  • 查找 GeoAnalytics Server 作业的 jobID 以查看 REST 端点。
  • 故障排除并解决错误消息。
    注:

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

注:

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

了解有关 ArcGIS Monitor 的详细信息

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

术语描述

节点

服务器计算机。

工作计算机

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

主机

用于监控工作节点的服务器。服务器既可以是主节点,也可以是工作节点。

作业

作业是指运行 GeoAnalytics Server 工具。

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

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

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

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

  • 示例 1:运行 1 个作业的三机 GeoAnalytics Server 站点。
    • 每台计算机都具有 16 GB RAM 和 4 个 CPU 内核。
    • 系统属性默认使用最大 80% 的可用 RAM 和内核。
    • GeoAnalytics Server 设置为每台计算机使用 12 GB RAM。
    • GeoAnalytics Server 设置为使用所有计算机的 9 个内核。
  • 示例 2:同时运行 2 个作业的三机 GeoAnalytics Server 站点。
    • 每台计算机都具有 16 GB RAM 和 4 个 CPU 内核。
    • 系统属性默认使用最大 80% 的可用 RAM 和内核。
    • GeoAnalytics Server 设置为每台计算机使用 6 GB RAM。
    • GeoAnalytics Server 设置为使用所有计算机的 4 个内核。

站点信息和资源

将在本节介绍 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...
           },
           {
               ...worker2...
           },
           {
               ...worker3...
           }
       ],
       "cores": 9,
       "coresused": 9,
       "memory": 36864,
       "memoryused": 36864,
       "activeapps": [ ... ],
       "completedapps": [ ... ],
       "activedrivers": [],
       "status": "ALIVE"
   },
   "machine2.example-esri.com": {
       "url": "spark://machine2.example-esri.com:7077",
       "workers": [],
       "cores": 0,
       "coresused": 0,
       "memory": 0,
       "memoryused": 0,
       "activeapps": [],
       "completedapps": [],
       "activedrivers": [],
       "status": "STANDBY"
   },
   "machine3.example-esri.com": {
       "url": "spark://machine3.example-esri.com:7077",
       "workers": [],
       "cores": 0,
       "coresused": 0,
       "memory": 0,
       "memoryused": 0,
       "activeapps": [],
       "completedapps": [],
       "activedrivers": [],
       "status": "STANDBY"
   }
}
{
 "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",       "workers": [           {
               ...worker1...           },           {
               ...worker2...           },           {
               ...worker3...           }
       ],       "cores": 9,       "coresused": 8,       "memory": 36864,       "memoryused": 36864,       "activeapps": [ ... ],       "completedapps": [ ... ],       "activedrivers": [],       "status": "ALIVE"
   },   "machine2.example-esri.com": {
       "url": "spark://machine2.example-esri.com:7077",       "workers": [],       "cores": 0,       "coresused": 0,       "memory": 0,       "memoryused": 0,       "activeapps": [],       "completedapps": [],       "activedrivers": [],       "status": "STANDBY"
   },   "machine3.example-esri.com": {
       "url": "spark://machine3.example-esri.com:7077",       "workers": [],       "cores": 0,       "coresused": 0,       "memory": 0,       "memoryused": 0,       "activeapps": [],       "completedapps": [],       "activedrivers": [],       "status": "STANDBY"
   }
}

描述

  • url - 带有 Spark 前缀和 Spark 端口的 GeoAnalytics Server 计算机的 URL。每台计算机仅列出一个 URL。
  • cores - 站点中所有 GeoAnalytics Server 计算机可用于 GeoAnalytics Server 的内核总数。这表示可用内核总数乘以 percentageMaxAllowedComputeCores 设置(默认为 80%)。例如,如果一台计算机具有 16 个内核,percentageMaxAllowedComputeCores 设置为 80%,并且要使用的内核数量设置为 2,则该值将为 floor(16 * .8) = 12.8
  • coresused - GeoAnalytics Server 站点中所有计算机当前用于 GeoAnalytics Server 分析的内核总数。
  • memory - 站点中所有 GeoAnalytics Server 计算机可用于 GeoAnalytics Server 的可用内存总量 (MB)。这表示每台计算机上的内存量乘以 percentageMaxAllowedComputeMemory 及计算机的数量。例如,如果一台计算机的 RAM 为 32 GB,percentageMaxAllowedComputeCores 设置为 50%,并且要使用的 RAM 设置为 12 GB,则该值将为 floor(32 * .5) = 16
  • memoryused - GeoAnalytics Server 站点中所有计算机当前用于 GeoAnalytics Server 分析的内存总量。
  • activedrivers - 始终为空数组。

工作计算机

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": 12288,
               "memoryused": 12288,
               "memoryfree": 0,
               "state": "ALIVE",
               "lastheartbeat": 1520469707880
           },
           {
               "id": "worker-20180302114111-10.33.10.149-56543",
               "host": "10.33.10.149",
               "port": 56543,
               "cores": 3,
               "coresused": 3,
               "coresfree": 0,
               "memory": 12288,
               "memoryused": 12288,
               "memoryfree": 0,
               "state": "ALIVE",
               "lastheartbeat": 1520469712961
           },
           {
               "id": "worker-20180302113155-10.33.9.165-56540",
               "host": "10.33.9.165",
               "port": 56540,
               "cores": 3,
               "coresused": 3,
               "coresfree": 0,
               "memory": 12288,
               "memoryused": 12288,
               "memoryfree": 0,
               "state": "ALIVE",
               "lastheartbeat": 1520469712874
           }
       ],
    ...
    },    
   "machine2.example-esri.com": {...},
   "machine3.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": 2,               "coresfree": 1,               "memory": 12288,               "memoryused": 12288,               "memoryfree": 0,               "state": "ALIVE",               "lastheartbeat": 1520469707880           },           {
               "id": "worker-20180302114111-10.33.10.149-56543",               "host": "10.33.10.149",               "port": 56543,               "cores": 3,               "coresused": 3,               "coresfree": 0,               "memory": 12288,               "memoryused": 12288,               "memoryfree": 0,               "state": "ALIVE",               "lastheartbeat": 1520469712961           },           {
               "id": "worker-20180302113155-10.33.9.165-56540",               "host": "10.33.9.165",               "port": 56540,               "cores": 3,               "coresused": 3,               "coresfree": 0,               "memory": 12288,               "memoryused": 12288,               "memoryfree": 0,               "state": "ALIVE",               "lastheartbeat": 1520469712874           }
       ],    ...    },       "machine2.example-esri.com": {...},
   "machine3.example-esri.com": {...}
   }
}

描述

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

完成的应用程序

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": 9,
               "user": "agstest",
               "memoryperslave": 12288,
               "submitdate": "Wed Mar 07 16:41:31 PST 2018",
               "state": "FINISHED",
               "duration": 21947
           }
       ],
       "activedrivers": [],
       "status": "ALIVE"
   },
   "machine2.example-esri.com": {...},
   "machine3.example-esri.com": {...}
}
{
   "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": 4,               "user": "agstest",               "memoryperslave": 6144,               "submitdate": "Wed Mar 07 16:41:31 PST 2018",               "state": "FINISHED",               "duration": 21947           }
       ],       "activedrivers": [],       "status": "ALIVE"
   },   "machine2.example-esri.com": {...},   "machine3.example-esri.com": {...}
}

描述

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

活动应用

activeapps 键可标识当前正在运行的 GeoAnalytics 工具 及其信息。完成作业后,可将信息移至 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": 9,
               "user": "agstest",
               "memoryperslave": 12288,
               "submitdate": "Wed Mar 07 15:16:50 PST 2018",
               "state": "RUNNING",
               "duration": 5105025
           }
       ],
       "completedapps": [...]
   },
   "machine2.example-esri.com": {...},
   "machine3.example-esri.com": {...}
}
{
   "machine1.example-esri.com": {
       "url": "spark://machine1.example-esri.com:7077",       "workers": [...],       ...,       "activeapps": [           {
               "starttime": 1520464610794,               "id": "app-20180307151650-0007",               "name": "ArcGIS GeoAnalytics (j4b986eb5c603426fae7abe8e9d5d7afa)",               "cores": 4,               "user": "agstest",               "memoryperslave": 6144,               "submitdate": "Wed Mar 07 15:16:50 PST 2018",               "state": "RUNNING",               "duration": 5105025           },           {
               "starttime": 1520469713951,               "id": "app-20180307164153-0009",               "name": "ArcGIS GeoAnalytics (j739627e916b34533be918fe98b0fcb90)",               "cores": 4,               "user": "agstest",               "memoryperslave": 6144,               "submitdate": "Wed Mar 07 16:41:53 PST 2018",               "state": "RUNNING",               "duration": 1868           }
       ],       "completedapps": [...]   },   "machine2.example-esri.com": {...},   "machine3.example-esri.com": {...}
}

描述

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