鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

OmniAdvisor配置文件说明

OmniAdvisor参数调优2.0的配置文件包括common_config.ini和native_config.ini。

common_config.ini

common_config.ini为OmniAdvisor参数调优2.0的基础配置文件,用于选择调优方式、设置复测轮次、配置数据库信息以及Spark History Server相关参数。

[common]
# 调优复测次数
tuning.retest.times=1
# 评估配置失效的阈值,当配置执行失败次数大于等于此值,则配置失效
config.fail.threshold=1
# 调优策略
tuning.strategy=[["transfer", 1],["expert", 2],["iterative", 10]]
# 后台复测使用的队列,若不设置,则保持用户队列
backend.retest.queue=

[database]
# 后端数据库PostgreSQL的database名称
postgresql.database.name=
# 后端数据库PostgreSQL的用户
postgresql.database.user=
# 后端数据库PostgreSQL的连接host
postgresql.database.host=
# 后端数据库PostgreSQL的连接端口
postgresql.database.port=

[spark]
# Spark History Server的URL仅用于Rest模式
spark.history.rest.url=http://localhost:18080
# Spark History Server的URL的用户名,仅需要时填写
spark.history.username=
# Spark从History Server抓取Trace的超时时间
spark.fetch.trace.timeout=30
# Spark从History Server抓取Trace的间隔用时
spark.fetch.trace.interval=5
# Spark任务执行的超时时间除以基线时间倍数
spark.exec.timeout.ratio=10.0
# 控制Spark的输出结果中stdout和stderr是否要分开
spark.output.merge.switch=False

[webpage]
# admin页面显示的时区
admin.timezone=Asia/Shanghai
  • 如果spark.fetch.trace.timeout参数设置过小,可能导致在抓取Spark任务的trace信息时偶发失败,如图1所示。

    该问题不会影响后续调优流程的继续执行,但适当增大该值可以降低抓取失败的概率。

    在当前网络环境稳定的情况下,默认值30已能较好地保障trace信息的抓取成功率。
    图1 抓取Spark任务的trace信息时偶发失败
  • 如果spark.exec.timeout.ratio参数设置过低,增加因超时导致调优配置执行失败的概率,特别是在基线性能值较小的情况下。

    当前的默认值10已能满足大多数情况下的调优配置的正常执行。

    如果在使用过程中频繁出现因超时引发的调优失败,可尝试适当调高该参数的值。

  • tuning.retest.times参数的值必须大于0

native_config.ini

native_config.ini为OmniAdvisor参数调优2.0中针对Native调优的配置文件,用户可通过该文件指定OmniOperator的部署路径以及版本号等信息。

[native]
# OmniOperator部署根目录
omnioperator_home = /opt/omni-operator
# OmniOperator版本号
omnioperator_version = 1.7.0
# OmniOperator关联Spark版本,用于组成类似boostkit-omniop-spark-3.3.1-1.7.0-aarch64.jar的内容
omnioperator_spark_version = 3.3.1
# Hadoop部署根目录
hadoop_home = /usr/local/hadoop
表1 数据库表字段含义说明

表名

字段名称

含义

omniadvisor_exam_record

id

自动生成的主键

tuning_record

该条测试记录所关联的调优记录ID

start_time

Spark任务的开始时间

end_time

Spark任务的结束时间

status

Spark任务是否执行成功

runtime

Spark任务的执行耗时

application_id

Spark任务的application_id

trace

Spark任务执行所产生的trace数据

omniadvisor_load

id

自动生成的主键

name

负载的名称

exec_attr

负载的执行特征

default_config

默认配置

best_config

历史最优执行配置

test_config

待复测的配置

create_time

负载创建时间

tuning_needed

是否需要调优

hash_value

根据exec_attr和default_config计算出的hash值

backend_retest_enable

该条负载是否支持后台复测的标识

omniadvisor_tuning_record

id

自动生成的主键

load

该条调优记录所关联的load id

config

调优的配置

method

调优的方法

method_extend

调优方法的子类

rounds

调优轮次