iServer 的分布式分析服务是基于 Spark 计算平台,提供 GIS 分布式分析处理的能力。不同的硬件环境、Spark 集群环境,以及不同大小的分析数据,都会影响分布式分析的性能表现。要达到最优的性能,就需要依据不同的使用场景进行优化配置。下面提供一些常用的优化配置方法,您可以根据具体环境来配置Spark,具体如下:

  1. Spark 运行时,将启动 executor 执行任务,您可以依据您的机器实际情况,在 Spark 配置文件中调整分配给 executor 的内存(iServer Spark默认为4G),从而优化数据处理效率。具体方法为:
  • 进入 Spark 安装包的 conf 目录,例如【iServer 安装目录】support\spark\conf,将 spark-defaults.conf.template 文件重命名为 spark-defaults.conf

  • 用文档编辑器打开 spark-defaults.conf,添加:spark.executor.memory           8g

  1. 当分析的结果数据比较大时,spark 集群主节点从各个子节点收集结果数据,再存储到本地文件或 iServer DataStore 中,都会消耗系统硬件资源。为了提升分析效率,可采取以下优化配置方法:
  • 修改 spark driver 内存

  • 进入 Spark 安装包的 conf 目录,例如【iServer 安装目录】support\spark\conf,将 spark-defaults.conf.template 文件重命名为 spark-defaults.conf

  • 用文档编辑器打开 spark-defaults.conf,添加:spark.driver.memory              5g

  • 如果使用的是 iServer 内置的 spark ,则可以设置 Spark 主节点不参与分析任务

  • 依次点击 spark 主节点所在的 iServer“集群”“加入集群”,取消掉“是否分布式分析节点”的集群报告器。

  1. Spark中的调度模式主要有两种:FIFO(先进先出)和FAIR(公平调度)。其中,iServer Spark运行时,采用的是FAIR,即(公平调度)模式,并且支持并发处理多个分析作业。您可以依据您的实际情况选择设置。Spark默认模式为FIFO(先进先出)模式,如果您想要采用FAIR(公平调度)模式, 可在Spark 配置文件中进行修改。具体办法为:
  • 进入 Spark 安装包的 conf 目录,例如【iServer 安装目录】support\spark\conf,将 spark-defaults.conf.template 文件重命名为 spark-defaults.conf

  • 用文档编辑器打开 spark-defaults.conf,添加:spark.scheduler.mode            FIFO