更新时间:2024-07-19 GMT+08:00

切换Hive执行引擎为Tez

操作场景

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

前提条件

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

客户端切换执行引擎为Tez

  1. 安装并登录Hive客户端,具体操作请参考使用Hive客户端
  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. 提交并执行Tez任务。
  4. 登录FusionInsight Manager界面,具体请参见访问FusionInsight Manager(MRS 3.x及之后版本),选择“集群 > 待操作的集群 > 服务 > Tez > TezUI(主机名称)”,在TezUI界面查看任务执行情况。

    针对MRS 3.x之前版本,请登录MRS Manager界面,选择“服务管理 > Tez > Tez WebUI”,在TezUI界面查看任务执行情况。

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

  1. 登录FusionInsight Manager界面,具体请参见访问FusionInsight Manager(MRS 3.x及之后版本),选择“集群 > 待操作的集群 > 服务 > Hive > 配置 > 全部配置 > HiveServer(角色)”,搜索“hive.execution.engine”参数。

    针对MRS 3.x之前版本,请登录MRS Manager界面,选择“服务管理 > Hive > 服务配置 > 全部配置 > HiveServer”,搜索“hive.execution.engine”参数。

  2. 将“hive.execution.engine”参数设置为“tez”。
  3. 选择“Hive(服务) > 自定义”,搜索“yarn.site.customized.configs”。
  4. 在“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. 单击“保存”在弹出窗口单击“确定”。

    针对MRS 3.x之前版本,请单击“保存配置”在弹出窗口单击“是”。

  6. 选择“概览 > 更多 > 重启服务”,重启Hive服务,输入密码开始重启服务。

    针对MRS 3.x之前版本,请在“服务状态”页签选择“更多 > 重启服务”,重启Hive服务。

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

    针对MRS 3.x之前版本,请登录MRS Manager界面,选择“服务管理 > Tez > Tez WebUI”,在TezUI界面查看任务执行情况。