• GBASE 8A v953报错集锦41--导出数据到 Kerberos 认证 HDFS,数据可以正常导 出,但会有报错信息


    问题现象

    通过 Kerberos 认证不落地导出数据到 HDFS,数据可以正常导出,但会有报错信息,

    信息如下:

    gbase> show warnings \G;

    *************************** 1. row ***************************

    Level: Error

    Code: 1708

    Message: [133.96.79.145:5050](GBA-02AD-0005)Failed to query in gnode:

    DETAIL: Can't open file: 'Export operation failed with error - I/O operation

    on hdp://ldapuser@133.96.79.207:50070/user/bdoc/4/services/hdfs/58/datasync/o

    m_test_outfile_20171129/om_test_outfile_20171129_16 failed with error - ' (e

    rrno: 2)

    SQL: SELECT /*133.96.79.143_16565_5_2017-11-29_10:34:23*/ /*+ TID('599

    815447') */ `om.test_171124`.`name` AS `name`, `om.test_171124`.`age` AS `

    age` INTO OUTFILE 'hdp://133.96.79.207:50070/user/bdoc/4/services/hdfs/58/d

    atasync/om_test_outfile_20171129?user=ldapuser&groupnum=15&filenum=&cre

    atedir=1' outfilemode by hdfs writemode by overwrites FIELDS TERMI

    NATED BY '|' ENCLOSED BY '' LINES STARTING BY '' TERMINA

    TED BY '\n' FROM `om`.`test_171124_n16` `om.test_171124`

    1 row in set (Elapsed: 00:00:00.00)

    ERROR:

    No query specified

    已经确定 hdfs 中已经有导出的数据,但是集群依然报错。

    原因分析

    通过对日志分析及模拟测试,确定问题的原因为:

    Hadoop 集群在接收到并发的 token 请求后,有可能报错(不通过 8a 导出功能,脚

    本就能复现)。

    通过筛查现场 Hadoop 日志,发现共有两种报错的堆栈,都是由 jdk 层 jgss 模块引

    发,目前暂未找到从部署上规避此问题的方法。

    两种报错:

     GSSException: No valid credentials provided (Mechanism level: Failed to fin

    d any kerberos credentails).

     GSSException:Failure unspecified at GSS-API level (Mechanism level: Requ

    est a replay (34)).

    其中报错 2 已明确是因为 jdk 层 jgss 模块为防止 replay 攻击的实现机制导致,而报

    错 2 的具体原因目前还不清楚,推测与使用相同 Kerberos 凭据向 Hadoop 进行高并

    发认证相关.

    解决方法

    两种报错的解决方案如下,解决方案可以二选一:

     GSSException: No valid credentials provided (Mechanism level: Failed to find any

    kerberos credentails).

    1. 修改用户应用程序,在加载和导出 SQL 中使用 Hadoop 的 Namenode 主机

    名代替 IP 地址;

    2. 升级部署的 Hadoop 版本到 2.8.0 版本。

     GSSException:Failure unspecified at GSS-API level (Mechanism level: Request a

    replay (34))

    1) 升级 Hadoop 集群 java 环境到 1.8.0 版本;

    2) 修改 GBase 8a MPP Cluster 连接 Hadoop 的实现,支持单点登录和 token 维

    护。 

  • 相关阅读:
    Android stdio 无法新建或打开AIDL文件(解决方法)
    便携式自动气象站让你随时随地掌握天气变化
    声纹技术(五):声纹分割聚类技术
    C# excel操作
    (最优化理论与方法)第六章无约束优化算法-第一节:线搜索方法
    HTML CSS游戏官网网页模板 大学生游戏介绍网站毕业设计 DW游戏主题网页模板下载 游戏娱乐网页成品代码...
    PostMan发送携带参数Get请求、Post请求及SpringMVC解决Post请求中文乱码问题
    GitHub 最全的开发资源汇总系列
    react memo判断刷新机制 自定义的比较函数 避免重复渲染
    Rust中的宏:声明宏和过程宏
  • 原文地址:https://blog.csdn.net/ls_hong/article/details/126570550