• 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 维

    护。 

  • 相关阅读:
    深入浅出大数据:88页Hadoop实战手册,重视实操易于理解
    django系列13 - 部署代码到云服务器上
    GEE:Landsat-T1级别影像去云和辐射校正
    完美男人谢安游山玩水风流潇洒,东山再起以一敌十
    解决ModuleNotFoundError: No module named ‘diffusers.models.cross_attention‘
    JavaScript知识系列(6)每天10个小知识点
    等保2.0对云计算有哪些特定的安全要求?
    蓝桥杯打卡Day7
    下载视频号安装,下载视频号安装到手机上?
    12.面试题——Spring Boot
  • 原文地址:https://blog.csdn.net/ls_hong/article/details/126570550