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所示。
该问题不会影响后续调优流程的继续执行,但适当增大该值可以降低抓取失败的概率。
- 如果spark.exec.timeout.ratio参数设置过低,增加因超时导致调优配置执行失败的概率,特别是在基线性能值较小的情况下。
如果在使用过程中频繁出现因超时引发的调优失败,可尝试适当调高该参数的值。
- 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
|
表名 |
字段名称 |
含义 |
|---|---|---|
|
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 |
调优轮次 |
