diff --git a/omniadvisor/config/common_config.cfg b/omniadvisor/config/common_config.cfg index 53f7206a8ddedf8ff965c15d65d2abd9dea07413..240e42c4e6674aea6ee10987e57b1f500a934bb6 100755 --- a/omniadvisor/config/common_config.cfg +++ b/omniadvisor/config/common_config.cfg @@ -10,8 +10,8 @@ tuning.strategy=[["transfer", 1],["expert", 2],["iterative", 10]] # Spark History Server的URL 仅用于Rest模式 spark.history.rest.url=http://localhost:18080 # Spark从History Sever抓取Trace的超时时间 -spark.fetch.trace.timeout=10 +spark.fetch.trace.timeout=30 # Spark从History Sever抓取Trace的间隔用时 -spark.fetch.trace.interval=2 +spark.fetch.trace.interval=5 # Spark任务执行的超时时间,对比基线的比例 spark.exec.timeout.ratio=10.0 \ No newline at end of file diff --git a/omniadvisor/src/tuning.py b/omniadvisor/src/tuning.py index 37e8b395422549896cb4dbd4294f173ebdb9422e..a75f590572f1bf98f3a5c278b07b4b4e4bc2760a 100644 --- a/omniadvisor/src/tuning.py +++ b/omniadvisor/src/tuning.py @@ -1,14 +1,22 @@ from common.constant import check_oa_conf -from omniadvisor.interface import config_tuning +from omniadvisor.interface.config_tuning import ( + main, + NoOptimalConfigError +) from omniadvisor.utils.logger import global_logger if __name__ == '__main__': try: check_oa_conf() - config_tuning.main() + main() # 无需进行逻辑处理的异常,直接抛至该层 # 若需进行逻辑处理(如环境清理等),则需在相应位置处理后重新抛至该层 + except NoOptimalConfigError as e: + # 若未找到优化配置,则通过warning打印即可 + global_logger.warning(e) + # 正常退出 + exit(0) except Exception as e: # 异常信息统一在此处打印,方便定位,抛出异常的地方无需打印log global_logger.error(e) diff --git a/omniadvisor/tests/omniadvisor/service/spark_service/test_spark_cmd_parser.py b/omniadvisor/tests/omniadvisor/service/spark_service/test_spark_cmd_parser.py index 92cbc080ad03b2cb7dc408b99adfeb4167b6c7db..2b12bb210ec839a58cfacb55329ec3c461ce02ae 100644 --- a/omniadvisor/tests/omniadvisor/service/spark_service/test_spark_cmd_parser.py +++ b/omniadvisor/tests/omniadvisor/service/spark_service/test_spark_cmd_parser.py @@ -91,13 +91,13 @@ class TestSparkCMDParser: cmd = SparkCMDParser.reconstruct_cmd(exec_attr, conf_params) assert cmd.startswith(exec_attr['omniadvisor-cmd-prefix']) - assert '--master yarn' in cmd - assert '--name test_app' in cmd - assert '-e "SELECT * FROM table"' in cmd - assert '--unknown1 test' in cmd - assert '-uk test' in cmd - assert '--conf spark.executor.memory=4g' in cmd - assert '--conf spark.driver.extraJavaOptions="-XX:+UseG1GC -XX:+UseG1GC"' in cmd + assert "--master 'yarn'" in cmd + assert "--name 'test_app'" in cmd + assert "-e 'SELECT * FROM table'" in cmd + assert "'--unknown1' 'test'" in cmd + assert "'-uk' 'test'" in cmd + assert "--conf spark.executor.memory='4g'" in cmd + assert "--conf spark.driver.extraJavaOptions='-XX:+UseG1GC -XX:+UseG1GC'" in cmd # 场景 2: 缺少前缀字段抛异常 def test_reconstruct_cmd_missing_prefix(self): @@ -123,7 +123,7 @@ class TestSparkCMDParser: assert "--extra" in cmd assert "arg" in cmd - assert "--conf spark.executor.instances=4" in cmd + assert "--conf spark.executor.instances='4'" in cmd # 场景 3: 包含 boolean 参数 def test_reconstruct_cmd_with_boolean(self): @@ -143,7 +143,7 @@ class TestSparkCMDParser: assert "--extra" in cmd assert "arg" in cmd - assert "--conf spark.executor.instances=4" in cmd + assert "--conf spark.executor.instances='4'" in cmd assert "verbose" in cmd assert "supervise" in cmd assert "kill" in cmd