AnsweredAssumed Answered

NFS Access Denied issue

Question asked by mandoskippy on May 9, 2015
Latest reply on Aug 14, 2015 by mandoskippy
I am experimenting with Mesos and MapR.  If I run a script run.sh (below) at the command line on any node, it works fine, it creates a directory, and all is well. If I run it via Marathon given the following options I get access denied when I try to create the directory.  Both scripts show they are running as the exact same user, and the non-marathon method works on all nodes and the marathon method fails on all nodes.  Each mount point is "self" mounted (i.e. each node is running the mapr NFS server and it's mounted itself). 

I am at a loss why it would work at the cmd line and not in marathon. I posted to the Mesos User Group too thinking it's a sandbox issue, but the initial response I got was this "should" work.  Also of note:  In the same volume, if the file all ready exists, appending to it (i.e. adding to a log file) works! It appears the only issue is on "create" of a file or directory.

I looked through the logs in both MapR and the on the system and found no evens that correlated to the access denied. At this point I am not sure how to even trouble shoot.  Any advice would be welcome. Thanks!


Script:

#!/bin/bash
echo "Writing whoami to stderr for one stop logging" 1>&2
whoami 1>&2
mkdir /mapr/brewpot/mesos/storm/test/test1
touch /mapr/brewpot/mesos/storm/test/test1/testing.go



Run Via Marathon


{
"cmd": "/mapr/brewpot/mesos/storm/run.sh",
"cpus": 1.0,
"mem": 1024,
"id": "permtest",
"user": "darkness",
"instances": 1
}


I0509 07:02:52.457242  9562 exec.cpp:132] Version: 0.21.0
I0509 07:02:52.462700  9570 exec.cpp:206] Executor registered on slave 20150505-145508-1644210368-5050-8608-S0
Writing whoami to stderr for one stop logging
darkness
mkdir: cannot create directory `/mapr/brewpot/mesos/storm/test/test1': Permission denied
touch: cannot touch `/mapr/brewpot/mesos/storm/test/test1/testing.go': No such file or directory


Run Via Shell:


$ /mapr/brewpot/mesos/storm/run.sh
Writing whoami to stderr for one stop logging
darkness
darkness@hadoopmapr1:/mapr/brewpot/mesos/storm$ ls ./test/
test1
darkness@hadoopmapr1:/mapr/brewpot/mesos/storm$ ls ./test/test1/
testing.go

Outcomes