文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Hive/ Hive常见问题/ 使用Tez引擎执行Hive SQL任务报错Client cannot authenticate via:[TOKEN, KERBEROS]
更新时间:2025-12-10 GMT+08:00
分享

使用Tez引擎执行Hive SQL任务报错Client cannot authenticate via:[TOKEN, KERBEROS]

问题

  1. MRS 3.6.0-LTS及之后版本,使用Tez引擎执行Hive SQL任务时,对于某些查询会执行失败,报错的异常信息中包含以下内容:
    图1 Hive SQL任务执行报错
  2. 登录运行任务的HiveServer节点,查看“/var/log/Bigdata/hive/hiveserver/hive.log”日志文件,该文件中打印了“Send dag plan using YARN local resources since it's too large, dag plan size=xxx, max dag plan size through IPC=xxx, max IPC message size=xxx”信息,如图2所示。
    图2 HiveServer日志信息

回答

可以调大“ipc.maximum.data.length”参数的值,默认值为“134217728”(128MB),调整后的值需大于日志信息“dag plan size=xxx”中xxx的值。例如,打印的日志信息为“dag plan size=143378045”,则可调大“ipc.maximum.data.length”参数值为“268435456”(256MB)。

可使用以下两种方式配置“ipc.maximum.data.length”参数的值:

  • 方式一:

    登录FusionInsight Manager界面,选择“集群 > 服务 > Hive > 配置 > 全部配置”,在左侧导航栏选择“Hive(服务) > 自定义参数”,在自定义参数文件“core-site.xml”中新增“ipc.maximum.data.length”参数,并配置对应的值,单击“保存”,并单击“实例”,滚动重启配置过期的实例使配置生效。

  • 方式二:

    在Hive客户端执行以下命令配置该参数的值:

    set ipc.maximum.data.length=xxx;

相关文档