【发布时间】:2015-06-23 01:07:52
【问题描述】:
我有一个执行一堆 hadoop fs -get 合并命令的 oozie shell 操作,它当前失败是因为:
[由 GSSException 引起:未提供有效凭据(机制级别:未能找到任何 Kerberos tgt)]
在 oozie 文档中,它说明了如何为 Java 操作执行此操作:这里
重要提示:为了使 Java 操作在安全集群上成功,它必须像以下代码 sn-p 一样传播 Hadoop 委托令牌(这在非安全集群上是良性的):
// 将委托相关的道具从启动器作业传播到 MR 作业 如果(System.getenv(“HADOOP_TOKEN_FILE_LOCATION”)!= null){ jobConf.set("mapreduce.job.credentials.binary", System.getenv("HADOOP_TOKEN_FILE_LOCATION")); }
我如何为壳牌做到这一点?当我尝试回显 $HADOOP_TOKEN_FILE_LOCATION 时,它什么也不返回
【问题讨论】: