Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Hive error on HDP6

avatar
Contributor

I'm keep getting permission error while loading data to Hive tables and/or querying tables. I granted full(r+w+x) permission to appl/hadoop/yarn/local/usercache in all of my cluster nodes. I'm still getting errors. I have 3 nodes cluster (HDP6).

Application application_1507209932823_0008 failed 2 times due to AM Container for appattempt_1507209932823_0008_000002 exited with exitCode: -1000 For more detailed output, check the application tracking page: http://mymaster.fisdev.local:8088/cluster/app/application_1507209932823_0008 Then click on links to logs of each attempt. Diagnostics: Could not set permissions for local dir /appl/hadoop/yarn/local/usercache Failing this attempt. Failing the application.

1 ACCEPTED SOLUTION

avatar
Master Mentor
hide-solution

This problem has been solved!

Want to get a detailed solution you have to login/registered on the community

Register/Login
15 REPLIES 15

avatar
Contributor

I also noticed the permission I added keeps changing to original value for below folder. So i get inconsistent response.

[appadmin@mygrpdata1 yarn]$ ls -al /appl/hadoop/yarn/local/

total 0

drwxrwxrwx 5 yarn hadoop 57 Oct 5 16:13 .

drwxrwxrwx 4 root root 30 Aug 24 14:36 ..

drwxr-xr-x 3 yarn hadoop 16 Aug 30 13:46 filecache

drwx------ 3 yarn hadoop 44 Oct 5 16:13 nmPrivate

drwxr-xr-x 5 yarn hadoop 57 Oct 5 09:24 usercache

avatar
@Winnie Philip

Check the umask permission on your Linux machines. Even you can remove all the info under /appl/hadoop/yarn/local/usercache/* on your each node where you have resource manager so that it will recreate the file with new permissions.

Hope this helps you.

avatar
Contributor

umask on Linux is 0022

avatar
Contributor

Thank you Sridhar!

avatar
Master Mentor

@Winnie Philip

Can you attach the RM logs ?

avatar
Contributor

Hi Geoffrey,

Please find attatched the RM log from today.

rm-log.txt

avatar
Contributor

Thank you Geoffery

avatar
Master Mentor

@Winnie Philip

We see the Warning as :

2017-10-06 10:28:10,119 WARN  localizer.ResourceLocalizationService (ResourceLocalizationService.java:checkLocalDir(1445)) - Permissions incorrectly set for dir /usr/local/opt/hadoop/yarn/local/nmPrivate, should be rwx------, actual value = rwx-w----<br>



We will need to check the permissions for yarn local directories Which basically depends on the umask value set for the user 'yarn' at system level.

What is the umask value set for the yarn user set under the following files:

/etc/bashrc 
/etc/profile

.

Above is a WARNING message which can be seen when the ResourceLocalizationService checks the permission of nmPrivate, if it is not 700, it will just log a Warn message and change the permission to 700.

But in your case it is not able to change the permission.

WARN  localizer.ResourceLocalizationService (ResourceLocalizationService.java:initializeLocalDir(1277)) - Could not set permissions for local dir /appl/hadoop/yarn/local/usercache
EPERM: Operation not permitted


Please check the Node Managers' file/folder permissions is it is set to "yarn:hadoop" (like /appl/hadoop/yarn/)

# ls -ld /appl/hadoop/yarn
# chown yarn:hadoop /appl/hadoop/yarn

.

avatar
Contributor

all 3 nodes have following lines in 2 files, how do I check umask value set for the yarn user? i logged as sudo su - yarn, and noted umask is 022

  1. /etc/bashrc
  2. /etc/profile

# By default, we want umask to get set. This sets it for non-login shell. # Current threshold for system reserved uid/gids is 200 # You could check uidgid reservation validity in # /usr/share/doc/setup-*/uidgid file

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ];

then umask 002

else umask 022

fi