配置栅格分析

栅格分析为预处理、正射校正和镶嵌、遥感分析以及大量数学和三角学运算符提供了内置工具和函数。 您的自定义函数可以进一步增强组织的分析功能。

栅格分析还可用于简化协作和共享。 整个组织的用户可以向您的影像工程贡献数据、处理模型和专业知识,并与企业内的个人、部门或组织共享结果。

栅格分析简介

ArcGIS Enterprise on Kubernetes 中,栅格分析是一种灵活的栅格处理、存储和共享系统,它使用分布式计算和存储技术。 使用栅格分析可以应用 ArcGIS 中提供的栅格分析工具和栅格函数构建自定义函数和工具,或者将多个工具和函数组合到栅格处理链中,以便对大型栅格数据集合运行自定义算法。 可以根据您的需要和优先级,在整个企业中存储、发布以及共享源数据和处理结果。

通过使用计算功能和资源可以进一步扩展此增强功能。 结果是过去需要几天或几周才能完成的影像处理和分析工作,现在仅需几分钟或几小时即可完成,并且现在能够处理过去因为过大或过于庞杂而难以完成的工作。

提示:
云数据存储是本地和云部署的要求。 它用于存储栅格分析输出。

确认管理员已分配足够的资源配额工作节点来支持此高级功能

启用栅格分析

下列配置步骤可能需要您更改在组织中部署 ArcGIS 的方式;继续下一步骤前请仔细查看下列说明。 要启用栅格分析作为组织的一项功能,请完成以下步骤:

  1. 确保您的组织拥有两个所需栅格存储:一个云存储和一个关系存储。

    云存储用于存储分析的栅格输出。 当您的组织部署在云环境中时,建议使用来自同一云提供商的云存储服务。 关系存储用于在创建托管影像图层或栅格分析生成集合输出时存储镶嵌数据集。 有关如何添加栅格存储的信息,请参阅管理栅格存储

  2. ArcGIS Enterprise Manager 中,单击侧边栏中的功能按钮。

    功能页面随即显示。

  3. 打开栅格分析切换按钮。

    将显示一条消息,指示启用过程可能需要一些时间。

  4. 单击启用

    已提交启用栅格分析的请求。 此过程将验证先决条件并激活支持资源。 以下系统服务将自动启动:

    • RasterAnalysisTools
    • RasterProcessing
    • RasterProcessingGPU
    • RasterRendering

如果功能无法启用,请重复上述步骤,以确保栅格存储已添加,栅格分析许可有效且可用,并且系统服务已启动。 查看日志,确定此功能的要求。

栅格分析现已配置完成。 您可以开始在组织中使用栅格分析工具和托管影像。 学习如何使用栅格分析深度学习

此外,了解如何调整栅格分析工作流。

为栅格分析启用 GPU 资源

栅格分析,特别是深度学习分析和 AI 工具可以使用集群中的图形处理器 (GPU) 资源。 您可以配置 GPU 资源,以增强深度学习模型和推理工具的性能。 对于深度学习,GPU 可为您的组织提升处理速度、资源利用效率和可扩展性。 由于 GPU 可以处理大量的并行计算,因此它们对于栅格分析和深度学习是不可或缺的。 当为每个服务配置 GPU 时,单个服务可以更好地执行这两个任务。

要为组织启用用于栅格分析的 GPU 资源,请与集群管理员一起完成以下步骤:

  1. Kubernetes 集群中的节点启用 GPU

    建议您为 GPU 节点创建自定义标注。 例如,要使用键 raster 和值 GPU 标注名为 node1 的节点,请使用以下命令:

    kubectl label nodes node1 raster=GPU
    

  2. 以管理员身份登录到 ArcGIS Enterprise Manager
  3. 请确保栅格分析已启用
  4. 使用 Pod 部署位置设置以确保需要 GPU 的服务能调度到支持 GPU 的节点。

    存在两个可以利用 GPU 节点处理数据的栅格分析服务:RasterAnalysisTools 和 RasterProcessingGPU。 建议为 RasterProcessingGPU 服务配置 Pod 部署位置,以便其可以利用 GPU。 如果工作流包含训练模型,则建议也为 RasterAnalysisTools 服务配置 Pod 部署位置。

    1. 单击服务 > 系统服务
    2. 单击服务名称,然后单击 Pod 部署位置
    3. 要应用节点亲和性规则,该规则可确保在 GPU 节点上调度服务的 Pod,请在节点亲和性部分中提供以下信息,然后单击添加
      • 类型 - 必选
      • - 指定用于标注 GPU 节点的键,例如 raster
      • 运算符 - In
      • - 指定用于标注 GPU 节点的值,例如 GPU
    4. 要确保栅格分析工作负载可以运行在 GPU 节点上,同时使用污点排除这些节点上的其他工作负载,请在容忍度部分中提供以下信息,然后单击添加
      • 效果 - 不执行
      • - nvidia.com/gpu
      • 运算符 - Exists

    5. 单击保存,然后等待调度 Pod。
      警告:

      必须等待 Pod 调度完成后才能继续操作。 否则 Pod 可能会卡在待处理状态,原因是 Kubernetes 找不到合适的节点来匹配 GPU 请求和放置规则。

  5. 为每个应该配置使用 GPU 的服务启用 GPU。
    1. 在服务页面顶部,单击设置
    2. 打开启用 GPU
    3. 单击保存。
  6. 或者,在 GPU 节点上设置污点以确保其他工作负载没有调度到支持 GPU 的节点。

    kubectl taint nodes <your-node-name> nvidia.com/gpu=Exists:NoExecute
    

调整栅格分析

要实现栅格分析的最佳性能和可扩展性,请考虑以下建议:

  • 创建组织时,请为对象存储使用云存储服务。
  • 增加 worker 节点。 栅格分析等高级功能需要每个架构配置文件至少有一个额外的 worker 节点来支持添加的功能。 与您的管理员合作,确定在创建组织时选择了哪种架构配置文件,并相应地增加 worker 节点。 根据您将执行的分析,您可能需要多个附加节点。
  • 尽可能使用支持 GPU 的节点。 或者,配置节点亲和性和容忍度以仅在 GPU 节点上运行 GPU 工作负载。 在进行深度学习和人工智能工作流程时,这一点变得越来越重要。
  • 通过使用附加 pod 和资源修改服务部署,您可以提高工作流的总体可用性和吞吐量,具体信息如下:
    • 对于不包括深度学习和人工智能的工作流程,扩展 RasterProcessing 服务部署。
    • 在执行工作流以训练深度学习工作流的模型时,请扩展 RasterAnalysisTools 服务部署
    • 在进行推理工作流程时,扩展 RasterProcessingGPU 服务部署。
  • 一些栅格分析工具将计算分布在多个 worker pod 中,并在执行分析时写入临时数据。 对需要将数据加载到临时空间进行处理的大型作业执行分布式栅格分析时,请使用临时卷。 有关详细信息,请参阅配置临时卷
  • 运行栅格分析进程时,建议从调试降低日志级别。 如果您没有主动解决问题,请改用警告级别。 如果您需要更细化的日志细节,请使用其他日志级别。
  • 考虑设置并行处理因子来控制可用于处理数据的栅格处理服务实例的数量。
  • 可能需要根据分析工作流程的类型和处理的数据的大小来监控和增加内存需求。 例如,对于深度学习和 AI 工作流程,更大的批次大小需要更多的内存。
  • 栅格分析工具具有预先配置的限制。 某些作业可能需要更多额外的容量以使工具正常运转。 您可以编辑扩展属性来增加不同微服务的内存。