Matteo Bertozzi created HBASE-9890:
--------------------------------------
Summary: MR jobs are not working if started by a delegated user
Key: HBASE-9890
URL: https://issues.apache.org/jira/browse/HBASE-9890
Project: HBase
Issue Type: Bug
Components: security
Affects Versions: 0.96.0, 0.94.12, 0.98.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Fix For: 0.98.0, 0.94.13, 0.96.1
Attachments: HBASE-9890-94-v0.patch
If Map-Reduce jobs are started with by a proxy user that has already the
delegation tokens, we get an exception on "obtain token" since the proxy user
doesn't have the kerberos auth.
For example:
* If we use oozie to execute RowCounter - oozie will get the tokens required
(HBASE_AUTH_TOKEN) and it will start the RowCounter. Once the RowCounter tries
to obtain the token, it will get an exception.
* If we use oozie to execute LoadIncrementalHFiles - oozie will get the tokens
required (HDFS_DELEGATION_TOKEN) and it will start the LoadIncrementalHFiles.
Once the LoadIncrementalHFiles tries to obtain the token, it will get an
exception.
{code}
org.apache.hadoop.hbase.security.AccessDeniedException: Token generation only
allowed for Kerberos authenticated clients
at
org.apache.hadoop.hbase.security.token.TokenProvider.getAuthenticationToken(TokenProvider.java:87)
{code}
{code}
org.apache.hadoop.ipc.RemoteException(java.io.IOException): Delegation Token
can be issued only with kerberos or web authentication
at
org.apache.hadoop.hdfs.DFSClient.getDelegationToken(DFSClient.java:783)
at
org.apache.hadoop.hdfs.DistributedFileSystem.getDelegationToken(DistributedFileSystem.java:868)
at
org.apache.hadoop.fs.FileSystem.collectDelegationTokens(FileSystem.java:509)
at
org.apache.hadoop.fs.FileSystem.addDelegationTokens(FileSystem.java:487)
at
org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodesInternal(TokenCache.java:130)
at
org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodesInternal(TokenCache.java:111)
at
org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodes(TokenCache.java:85)
at
org.apache.hadoop.filecache.TrackerDistributedCacheManager.getDelegationTokens(TrackerDistributedCacheManager.java:949)
at
org.apache.hadoop.mapred.JobClient.copyAndConfigureFiles(JobClient.java:854)
at
org.apache.hadoop.mapred.JobClient.copyAndConfigureFiles(JobClient.java:743)
at
org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:945)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:566)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:596)
at
org.apache.hadoop.hbase.mapreduce.RowCounter.main(RowCounter.java:173)
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)