更新时间:2024-10-16 GMT+08:00
切换Hive执行引擎为Tez
操作场景
Hive支持使用Tez引擎处理数据计算任务,用户在执行任务前可手动切换执行引擎为Tez。
前提条件
集群已安装Yarn服务的TimelineServer角色,且角色运行正常。
客户端切换执行引擎为Tez
- 安装并登录Hive客户端,具体操作请参考Hive客户端使用实践。
- 针对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命令指定运行队列。
- 针对MRS 3.2.0及之后版本,执行以下命令切换引擎:
set hive.execution.engine=tez;
如果需要指定Yarn运行队列,可以在客户端执行set tez.queue.name=default命令指定运行队列。
- 提交并执行Tez任务。
- 登录FusionInsight Manager界面,选择“集群 > 服务 > Tez > TezUI(主机名称)”,在TezUI界面查看任务执行情况。
切换Hive服务默认执行引擎为Tez
- 登录FusionInsight Manager界面,选择“集群 > 服务 > Hive > 配置 > 全部配置 > HiveServer(角色)”,搜索“hive.execution.engine”参数。
- 将“hive.execution.engine”参数设置为“tez”。
- 针对MRS 3.1.2版本,选择“Hive(服务) > 自定义”,搜索“yarn.site.customized.configs”。
- 针对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”。
- 单击“保存”在弹出窗口单击“确定”。
- 选择“概览 > 更多 > 重启服务”,输入当前用户密码,单击“确定”开始重启Hive服务。
- 安装并登录Hive客户端,具体操作请参考Hive客户端使用实践。
- 提交并执行Tez任务。
- 登录FusionInsight Manager界面,选择“集群 > 服务 > Tez > TezUI(主机名称)”,跳转TezUI界面查看任务执行情况。
父主题: Hive企业级能力增强