Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Failed to execute hive queries [ Access denied: Unable to move source to destination]

Solved Go to solution

Failed to execute hive queries [ Access denied: Unable to move source to destination]

Explorer

I am trying to build pipeline using STREAMSETS which would be pushing records into HDFS and then hive Query will execute .

I running query load data inpath '/path/in/hdfc' into  table table_name .getting the exception..

 

Failed to execute queries. Details : Failed to execute query 'load data inpath 
'/tmp/out/*' into table smsc_data_main_nw_success'. Reason: java.sql.SQLException:
Error while processing statement: FAILED: Execution Error,
return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask.
org.apache.hadoop.hive.ql.metadata.HiveException:
Access denied: Unable to move source hdfs://hostname:8020/tmp/out/file_name.done to
destination hdfs://hostname:8020/user/hive/warehouse/test.db/table_name:
Permission denied by sticky bit: user=anonymous,
path="/tmp/out/file_name.done":amank:supergroup:-rw-rw-r--,
parent="/tmp/out":amank:supergroup:drwxrwxrwt

I tried to these steps

hadoop fs -chmod g+w /user/hive/warehouse/test.db

 but still facing the same issue.

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Failed to execute hive queries [ Access denied: Unable to move source to destination]

Master Guru
> user=anonymous

It appears that your query connects without a proper username supplied. If
this is a HiveServer2 based connection, ensure you provide a username in
the connection string. This would be the simplest way to resolve your
issue, typically done by adding "user=username" as a property in the
connection string.

If you absolutely do wish to use anonymous, then ensure that you use a non
/tmp path with 777 (but no sticky bit) access to the parent directory, so
that the user 'anonymous' is allowed to remove files from that directory.
This breaks down security, so is not advisable as a long term solution.
2 REPLIES 2

Re: Failed to execute hive queries [ Access denied: Unable to move source to destination]

Master Guru
> user=anonymous

It appears that your query connects without a proper username supplied. If
this is a HiveServer2 based connection, ensure you provide a username in
the connection string. This would be the simplest way to resolve your
issue, typically done by adding "user=username" as a property in the
connection string.

If you absolutely do wish to use anonymous, then ensure that you use a non
/tmp path with 777 (but no sticky bit) access to the parent directory, so
that the user 'anonymous' is allowed to remove files from that directory.
This breaks down security, so is not advisable as a long term solution.
Highlighted

Re: Failed to execute hive queries [ Access denied: Unable to move source to destination]

Explorer

Thank you ,that works!!