更新时间:2024-10-28 GMT+08:00

切换Hive执行引擎为Tez

操作场景

Hive支持使用Tez引擎处理数据计算任务,用户在执行任务前可手动切换执行引擎为Tez。

前提条件

集群已安装Yarn服务的TimelineServer角色,且角色运行正常。

客户端切换执行引擎为Tez

  1. 安装并登录Hive客户端,具体操作请参考Hive客户端使用实践
  2. 针对MRS 3.1.2版本,执行以下命令切换引擎并开启“yarn.timeline-service.enabled”参数:

    set hive.execution.engine=tez;

    set yarn.timeline-service.enabled=true;
    • “yarn.timeline-service.enabled”参数开启后可以在Tez服务中通过TezUI查看Tez引擎执行任务的详细情况。开启后任务信息将上报TimelineServer,如果TimelineServer实例故障,会导致任务失败。
    • 由于Tez使用ApplicationMaster缓冲池,“yarn.timeline-service.enabled”必须在提交Tez任务前开启,否则会导致此参数无法生效,需要重新登录客户端进行配置。
    • 当执行引擎需要切换为其他引擎时,需要通过客户端执行set yarn.timeline-service.enabled=false命令关闭“yarn.timeline-service.enabled”参数。
    • 如果需要指定Yarn运行队列,可以在客户端执行set tez.queue.name=default命令指定运行队列。

  3. 针对MRS 3.2.0及之后版本,执行以下命令切换引擎:

    set hive.execution.engine=tez;

    如果需要指定Yarn运行队列,可以在客户端执行set tez.queue.name=default命令指定运行队列。

  4. 提交并执行Tez任务。
  5. 登录FusionInsight Manager界面,选择“集群 > 服务 > Tez > TezUI(主机名称)”,在TezUI界面查看任务执行情况。

切换Hive服务默认执行引擎为Tez

  1. 登录FusionInsight Manager界面,选择“集群 > 服务 > Hive > 配置 > 全部配置 > HiveServer(角色)”,搜索“hive.execution.engine”参数。

  2. 将“hive.execution.engine”参数设置为“tez”。
  3. 针对MRS 3.1.2版本,选择“Hive(服务) > 自定义”,搜索“yarn.site.customized.configs”。
  4. 针对MRS 3.1.2版本,在“yarn.site.customized.configs”参数后添加自定义参数,名称为“yarn.timeline-service.enabled”,值为“true”。

    • “yarn.timeline-service.enabled”开启后可以在Tez服务中通过TezUI查看Tez引擎执行任务详细情况。开启后任务信息将上报TimelineServer,如果TimelineServer实例故障,会导致任务失败。
    • 由于Tez使用ApplicationMaster缓冲池,“yarn.timeline-service.enabled”必须在提交Tez任务前开启,否则会导致此参数无法生效,需要重新登录客户端配置。
    • 当执行引擎需要切换为其他引擎时,需要将自定义参数“yarn.timeline-service.enabled”的值设置为“false”。

  5. 单击“保存”在弹出窗口单击“确定”。
  6. 选择“概览 > 更多 > 重启服务”,输入当前用户密码,单击“确定”开始重启Hive服务。

  7. 安装并登录Hive客户端,具体操作请参考Hive客户端使用实践
  8. 提交并执行Tez任务。
  9. 登录FusionInsight Manager界面,选择“集群 > 服务 > Tez > TezUI(主机名称)”,跳转TezUI界面查看任务执行情况。