【kerberos】org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN,

这篇具有很好参考价值的文章主要介绍了【kerberos】org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN,。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在用SUSE 操作系统安装 CM 大数据平台,在集群开启 kerberos 后,使用 HDFS 命令报错如下:

hdfs dfs -ls /
19/05/29 18:06:15 WARN ipc.Client: Exception encountered while connecting to the server : org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS]
ls: Failed on local exception: java.io.IOException: org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS]; Host Details : local host is: "hadoop001/172.17.239.230"; destination host is: "hadoop001":8020;

环境信息

SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP5)

问题复现

  1. 先进行认证
kinit -kt hdfs.keytab hdfs

## 查看票据
klist 

【kerberos】org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN,,问题解决,Hadoop,kerberos,hadoop,apache,hdfs

export HADOOP_ROOT_LOGGER=DEBUG,console
export HADOOP_OPTS="-Dsun.security.krb5.debug=true -Djavax.net.debug=ssl"
hdfs dfs -ls /

【kerberos】org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN,,问题解决,Hadoop,kerberos,hadoop,apache,hdfs

问题原因

仔细看,在使用 klist 命令时,有个Ticket Cache : Dir 他指向的路径是: /run/user/0/krb5cc/tkt

而在执行 HDFS 命令时,有个 KinitOptions cache name is 他指向的路径是 tmp/krb5cc_0

HDFS 默认是去 /tmp 目录下找 Kerberos 缓存。然后 SUSE 操作系统下 kerberos 并不是放在 /tmp 目录下,导致 HDFS 客户端认为你没有进行 Kerberos 认证。所以报错。

解决方案

/etc/krb5.conf中,我们增加了下面的参数以后,就可以正常kinit,也可以执行hdfs的命令了。

default_ccache_name = FILE:/tmp/krb5cc_%{uid}

【kerberos】org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN,,问题解决,Hadoop,kerberos,hadoop,apache,hdfs

  1. 销毁凭据
kdestroy
  1. 重新认证
kinit -kt hdfs.keytab hdfs
  1. 查看HDS
hdfs dfs -ls /

在重新执行,问题解决!

此外网上还有别的解决方案,但都不是我这种情况。这里也顺便贴下:

方法一:

krb5.conf文件中的default_ccache_name注释掉,然后执行kdestroy,重新kinit,问题解决

方法二:

在 /etc/krb5.conf 里补全了加密方法后
https://www.cnblogs.com/tommyjiang/p/15008787.html

方法三:

代码问题
https://blog.csdn.net/ifenggege/article/details/111243297文章来源地址https://www.toymoban.com/news/detail-695594.html

到了这里,关于【kerberos】org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN,的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Flink】ClassNotFoundException: org.apache.hadoop.conf.Configuration

    问题背景 在Flink的sql-client客户端中执行连接hive的sql代码时出现如下错误,版本Flink1.13.6 Flink SQL  create catalog test with(  \\\'type\\\'=\\\'hive\\\', \\\'default-database\\\'=\\\'default\\\', \\\'hive-conf-dir\\\'=\\\'/opt/hive/conf\\\'); [ERROR] Could not execute SQL statement. Reason: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration 问题

    2024年02月21日
    浏览(37)
  • 解决:org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest

    搭建rocketmq单机环境时踩坑。 遇到问题:在使用命令 nohup ./mqbroker -n localhost:9876 启动broker时,如果出现如下错误信息 org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest See http://rocketmq.apache.org/docs/faq/ for further details.     at org.apache.rocketmq.client.impl.producer.

    2024年02月06日
    浏览(39)
  • Hadoop datanode启动异常 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode

    现象 线上收到hadoop集群datanode掉线告警。 排查 1、确认datanode状态 发现未存在datanode进程。 2、尝试单独启动datanode,发现还是不行,错误日志信息如下: $ hadoop-daemon.sh start datanode 2022-11-25 15:58:43,267 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool (Datanod

    2023年04月08日
    浏览(44)
  • org.apache.flink.table.client.SqlClientException: Could not read from command line【Flink解决方案】

    在启动Flink的SQL集群时遇到启动异常,可能的原因有多种。以下是一些可能的原因猜测及解释: 配置错误 : flink-conf.yaml 或其他配置文件可能存在错误或遗漏,导致Flink无法正确加载配置。 SQL客户端的配置(如TableSource或TableResult的配置)可能不正确,导致SQL作业无法启动。

    2024年04月26日
    浏览(49)
  • flink1.7x问题Lambda表达式出现异常org.apache.flink.runtime.client.JobExecutionException: Job execution faile

    其他的哪些都是瞎扯淡 flink1.7x版本的问题: 使用Lambda-表达式出现异常org.apache.flink.runtime.client.JobExecutionException: Job execution faile 解决问题: 升级jdk版本为17 flink1.7已经弃用jdk8了 然后升完级运行出异常: 异常信息 在idea的vm处加上: 运行jar时候加上: 异常信息

    2024年02月04日
    浏览(40)
  • Hive报错org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask

    报错Error while compiling statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask 执行Hive两个表JOIN时出现如上错误 报错原因: 执行的join是大表和小表进性join,而Hive默认开启了MapJoin,即:hive.auto.convert.join=true; 但集群机器内存不够,导致出错。 Map Join

    2024年02月12日
    浏览(62)
  • ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing错误

    重新安装hbase后,在hbase shell中查看所有命名空间时,出现了ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing错误。     1、root用户下,关闭hbase stop-hbase.sh  2、执行以下命令删除HDFS下的hbase数据。 hadoop fs -rm -r /hbase  3、将zookeeper客户端下的hbase文件也删除。  1、sh z

    2023年04月14日
    浏览(44)
  • hive查看数据库出现org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    在启动hive后,使用show databses查看数据库时发现,出现了这个错误 根据搜索查找以及分析得知:可能是hive的数据库MySQL在安装的时候没有初始化,初始化数据库即可 schematool -dbType mysql -initSchema  1.在MySQL中删除元数据 drop database metastore; 2.进入hive中的bin里面 ,输入格式化命令

    2024年02月07日
    浏览(55)
  • 解决java: 程序包org.apache.hadoop.conf不存在的一种冷门思路

    我们在用idea编译Hadoop项目时,明明已经导入了相关的jre依赖包,但是编译时提示包不存在 原因是我们还没在项目的 pom.xml 文件中配置相关的变量 找到它 打开之后长这样 最后一步,代码里面那个“2.6.0”是我的Hadoop版本,将它改成你自己安装的Hadoop的版本就行了,三个都要。

    2024年02月11日
    浏览(47)
  • org.apache.hadoop.io.nativeio.NativeIO$Windows.access0问题的解决

     运行代码出现如下错误:  org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 需在java项目中重新创建一个包,将NativeIO.java进行重写 包名必须是 org.apache.hadoop.io.nativeio     修改之后,重新运行项目即可. NativeIO.java代码如下

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包