使用OmniAdvisor参数调优
安装部署OmniAdvisor参数调优到管理节点指定目录下面,比如:/opt/OmniAdvisor,这个路径代指为:$OMNIADVISOR_HOME。OmniAdvisor参数调优的使用有OmniAdvisor参数调优CLI和非交互式命令执行两种运行方式,建议使用OmniAdvisor参数调优CLI。
通过OmniAdvisor参数调优CLI使用OmniAdvisor参数调优
OmniAdvisor参数调优使用主要包括5个步骤,调用OmniAdvisor参数调优入口、初始化环境配置、解析历史任务信息、使用AI算法进行参数采样和参数推荐。
- 调用OmniAdvisor入参数调优口。
- 在管理节点中调用OmniAdvisor参数调优入口,开始通过OmniAdvisor参数调优CLI使用参数调优特性:
python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc
- 根据提示输入MySQL的用户密码,按“Enter”继续。
- 选择调优引擎。
输入spark或者hive选定调优引擎,或按“Tab”选择引擎。
- 选定引擎后,可根据提示选择执行指令:
- 输入对应命令即可执行对应操作。
表1 命令及对应操作 命令
操作
init_environment
初始化环境配置,包括数据库连接、数据库创建、数据表初始化等。
fetch_history_data
从Spark的HistoryServer或者Hive组件的Timeline Server上解析历史任务信息。
parameter_sampling
采用AI算法对所有历史任务进行参数采样。
parameter_recommend
进行参数推荐。
- 在管理节点中调用OmniAdvisor参数调优入口,开始通过OmniAdvisor参数调优CLI使用参数调优特性:
- init_environment初始化环境配置。
输入init_environment或者按“Tab”选择“init_environment”后按“Enter”即可初始化环境。
- fetch_history_data解析历史任务信息。
输入fetch_history_data或者按“Tab”选择“fetch_history_data”后回车即可调用日志解析模块进行历史任务信息解析。
- parameter_sampling使用AI算法进行参数采样。
- parameter_recommend参数推荐。
输入parameter_sampling或者按“Tab”选择“parameter_sampling”后,按提示输入SQL或APP提交命令即可进行参数推荐,并用推荐参数提交到对应引擎执行。
通过非交互式命令使用OmniAdvisor参数调优
在管理节点通过指定参数快速开始执行对应步骤,请参见表2。
选项 |
描述 |
用法示例 |
---|---|---|
-e, --engine |
指定调优的大数据引擎,仅支持Spark或者Hive。 |
python main.pyc -e spark |
-i, --instruction |
指定操作,可选择init_environment、fetch_history_data、parameter_sampling、parameter_recommend。 |
python main.pyc -e spark -i init_environment |
-s, --sampling_id |
指定采样标识符,通过“,”分割。 |
python main.pyc -e spark -i parameter_sampling -s "xx1" |
-n, --sampling_count |
指定参数采样轮数。 |
python main.pyc -e spark -i parameter_sampling -n 10 |
-c, --cmd |
指定参数推荐任务的Spark或Hive提交命令。 |
python main.pyc -e spark -i parameter_recommend -c "spark-sql xxx" |
-v, --version |
查看OmniAdvisor参数调优版本。 |
python main.pyc -v |
--help |
查看帮助。 |
python main.pyc --help |
- 初始化环境。
python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i init_environment
- 解析历史任务信息。
python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i fetch_history_data
- 参数采样。对identification为"xx1"和"xx2"的任务进行3轮参数采样。
python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i parameter_sampling -s "xx1,xx2" -n 3
- 参数推荐。
python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i parameter_recommend -c "spark-sql xxx"