Roberta Marton created TRAFODION-2036:
-----------------------------------------
Summary: Write access permission denied for user TRAFODION on
"/hbase/archive/data/default"
Key: TRAFODION-2036
URL: https://issues.apache.org/jira/browse/TRAFODION-2036
Project: Apache Trafodion
Issue Type: Bug
Components: sql-general
Reporter: Roberta Marton
Trafodion using snapshots for loading data and building indexes. Today, it
piggy-backs snapshot locations using the existing location -
/hbase/archive/data/default. ACL permissions for this location are not set
correctly and are reset at times by HBase.
>From a discussion with Cloudera:
<That directory is where HBase places the storefiles from a major compaction,
deletion, snapshots drops, basically anything that would have caused HBase to
move files. Yes, it is periodically cleaned up, and files that don't belong to
a table being archived are targeted by that cleanup process*. This should be
considered an HBase internal repository and you shouldn't be putting things in
there and changing permissions.
*https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/backup/example/LongTermArchivingHFileCleaner.java">
Condensed e-mail exchange on this issue:
<Originating problem>
Subject: hive/test018: RE: Trafodion master Daily Test Result - 224 - Failure
*** ERROR[8448] Unable to access Hbase interface. Call to
ExpHbaseInterface::scanOpen returned error HBASE_OPEN_ERROR(-704). Cause:
> java.io.IOException: java.util.concurrent.ExecutionException:
> org.apache.hadoop.security.AccessControlException: Permission denied:
> user=TRAFODION, access=WRITE,
> inode="/hbase/archive/data/default":hbase:hbase:drwxr-xr-x:user:TRAFODION:rwx,group::r-x,default:user::rwx,default:user:TRAFODION:rwx,default:group::r-x,default:mask::rwx,default:other::r-x
> We tried to solve this issue with the installer but it can't be done.
<Amanda>
The installer can create /hbase/archive but not /hbase/archive/data/default.
Cloudera/HDFS/HDP goes and deletes these directories sometimes before we can
even add the correct permissions to them (the next command). I don't know 'why'
this happens... I think it has something to do with creating 3 levels of empty
directories but I am not sure.
I tested this and wrote long emails about this a few months ago... I even put
in the changes "anyways" but it causes installer to fail when the directory is
deleted before the next command (sometimes it deletes the folders quickly
sometimes more slowly) so I had to take it out.
I will go back to my original comment on this... who (trafodion, hive, hdfs?)
is using this directory? Is this a hard coded value in our code?
<Selva>
Snapshot is supposed to be used by hbase user alone because it was mostly used
for Admin purposes. In trafodion case, the snapshot is used as a Trafodion
user. This requires that the folders used by snapshot have read and write
permission for Trafodion user. Hence we use ACL to provide access to
Traofodion. Alternatively, I have suggested that Trafodion user belongs to
hbase group and allow hbase group to have read/write permissions in the early
days of Esgyn. I believe it fell through the cracks.
<Roberta>
One thing to consider, a customer who is concerned about security – will it be
acceptable to make the Trafodion ID belong to the HBase group? A customer
that has an HBase setup separate from Trafodion may not want to give the
Trafodion user more elevated privileges.
<Selva>
In that case, we need to make ACL work somehow otherwise we can get into
problems at the time of bulkloading or create index. Couple of times, I got
into a situation that I was not able to bring up hbase in lava @hp till I
changed hdfs to give write permission to everyone. This issue needs to be
addressed and I hope it doesn’t fall through the cracks again.
<Sandhya>
Thanks for all the feedback. If this issue has been around for such a long time
, my question is why does this how up so infrequently ? The tests today have
also failed and we do need to address this issue ASAP. But it doesn’t fail all
the time.
Were the ACLs set up manually on the build machines for that 3 level deep
directory and do those just stay around ? Is this a new VM and that’s why it’s
showing up ?
Amanda, is there a Cloudera dev contact who can explain this issue that you or
CLR have already contacted ? Or can you post the question in the usual places
you usually look for answers about CDH and HDP ?
Roberta’s reply seems to indicate we cannot grant permission in all cases.
(with Kerberos enabled)
<reply from consultation with Cloudera – included earlier in JIRA – we should
not be using this directory>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)