前提条件

在使用OmniAdvisor参数调优特性之前,需激活或启动相应服务,请确保管理节点已满足本章条件。

调优Spark引擎

  1. 使用如下命令激活Anaconda。

    1
    conda activate OmniAdvisor
    

  2. 在Spark的“sbin”目录下,使用如下命令启动Spark HistoryServer服务。

    1
    sh start-history-server.sh
    

  3. 验证HistoryServer启动成功。

    在浏览器中输入http://<server1>:18080查看UI(默认端口为18080)。

  4. 可选:修改HistoryServer的端口。

    Spark HistoryServer的默认端口为18080,若该端口被占用,可修改配置来修改HistoryServer的端口。以将端口修改为18180为例。

    1. 打开“$SPARK_HOME/conf/spark-defaults.conf”配置文件。
      vi $SPARK_HOME/conf/spark-defaults.conf
    2. “i”进入编辑模式,添加或修改spark.history.ui.port字段为新的端口号18180。
      1
      spark.history.ui.port 18180
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 重启HistoryServer。
      在Spark的“sbin”目录下,使用如下命令停止和启动Spark HistoryServer服务。
      1
      2
      3
      4
      # 停止HistoryServer
      sh stop-history-server.sh
      # 启动HistoryServer
      sh start-history-server.sh
      

      Spark HistoryServer的地址和端口需要配置到日志解析模块的配置文件中。

调优Hive引擎

  1. 使用如下命令激活Anaconda。

    1
    conda activate OmniAdvisor
    

  2. 使用如下命令启动Timeline Server服务。

    1
    yarn --daemon start timelineserver
    

  3. 验证timelineserver启动成功。

    在浏览器中输入http://<server1>:8188查看UI(默认端口为8188)。

  4. 可选:修改Yarn timelineserver的端口。

    Yarn timelineserver的默认端口为8188,若该端口被占用,可修改配置来修改timelineserver的端口。以将端口修改为8288为例。

    1. 打开“$HADOOP_HOME/etc/hadoop/yarn-site.xml”配置文件。
      vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
    2. “i”进入编辑模式,添加或修改yarn.timeline-service.webapp.address字段为${yarn.timeline-service.hostname}:8288。
      1
      2
      3
      4
      <property>
          <name>yarn.timeline-service.webapp.address</name>
          <value>${yarn.timeline-service.hostname}:8288</value>
      </property>
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 重启yarn timelineserver。
      1
      2
      3
      4
      # 停止timelineserver
      yarn --daemon stop timelineserver
      # 启动timelineserver
      yarn --daemon start timelineserver
      

      Yarn timelineserver的地址和端口需要配置到日志解析模块的配置文件中。

  5. 修改“$HIVE_HOME/conf/hive-site.xml”配置文件确保hive.execution.engine指定的是Tez。

    1. 打开配置文件。
      vi $HIVE_HOME/conf/hive-site.xml
    2. “i”进入编辑模式,确保hive.execution.engine指定的是Tez。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      <property>
          <name>hive.execution.engine</name>
          <value>tez</value>
      </property>
      <property>
          <name>hive.cli.tez.session.async</name>
          <value>false</value>
          <description>
            Whether to start Tez
            session in background when running CLI with Tez, allowing CLI to be available earlier.
          </description>
       </property>
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。