Yes, but only in the yarn-site.xml, I have not set cgroups: true in the myriad config, so I am not sure the relationship there...
On Thu, Nov 19, 2015 at 10:33 AM, yuliya Feldman < yufeld...@yahoo.com.invalid> wrote: > You mean that if you enable cgroups in yarn /tmp as a slave temp dir works > just fine? > From: John Omernik <j...@omernik.com> > To: dev@myriad.incubator.apache.org; yuliya Feldman <yufeld...@yahoo.com> > Sent: Thursday, November 19, 2015 8:02 AM > Subject: Re: Struggling with Permissions > > Ok all I now have a real answer and a solution to the needing to change > /tmp locations in Mesos Slaves. > > Basically, it wasn't a difference between Redhat and Ubuntu, it was a > mistake I made in my yarn-site.xml for the resource manager. Basically I > copied the yarn-site from the wiki but on one I had uncommented the cgroups > section. My hypothesis: when running with Cgroups information, Yarn doesn't > see the /tmp and it's permissions, therefore creating the tgz with the > script I posted earlier works. The permissions are what Yarn requires. > Once I set that on my Redhat cluster, all was well. I realized that in > comparing configs. That addresses most of my concerns, and I recommend > people use that where possible to avoid the Mesos Slave changes. We also > may want to do some notes in the wiki around this, but I found it through > hacking, and I'd welcome more "from a point of view of understanding" > comments, I just made it work :) > > I'll send another email shortly on my last issue. > > On Wed, Nov 18, 2015 at 3:16 PM, John Omernik <j...@omernik.com> wrote: > > > Baffling... so as I said, I fixed the mapr.host that works well (as long > > as I have one NM per physical node) and I got my Ubuntu based Mesos > cluster > > to work with Myriad. At this point I am baffled on why Myriad/Yarn would > > complain about permissions on Redhat but not Ubuntu, below I've pulled > > files in /, /hadoop-2.7.0, /hadoop-2.7.0/bin and down the etc tree so you > > can see how they are setup the same. I am running as the same users in > > marathon etc. Same myriad configs... but I am getting the permissions > issue > > for Redhat, and Ubuntu is working fine (and more than just getting the > NMs > > running, I flexed up 6 NMs and was running hive queries with no issues!) > > > > The only differences I can see is that the java versions are different > > (1.8.0_45 for Ubuntu and 1.8.0_65 for Redhat) and the apparently the > builds > > of hadoop-2.7.0 are different from MapR. (They are different in size as > > well, but that may be the difference between a RPM Redhat install and a > > Debian Ubuntu install, I guess I didn't expect different hadoop builds > > between platforms though...) > > > > If you can see anything else, please let me know, I'd love to have this > > working. > > > > John > > > > > > Here are the dumps: Ubuntu... this is working: > > > > STARTUP_MSG: build = g...@github.com:mapr/private-hadoop-common.git -r > > fc95119f587541fb3a9af0dbeeed23c974178115; compiled by 'root' on > > 2015-08-19T20:02Z > > STARTUP_MSG: java = 1.8.0_45-internal > > > > No Error > > Ubuntu > > > > marathon user: mapr > > myriadframeuser: mapr > > myriadsuperuser: mapr > > > > / > > drwxr-xr-x 10 mapr mapr 4 KB Sep 10 14:40 hadoop-2.7.0 > > -rw-r--r-- 1 mapr mapr 77 KB Nov 18 12:48 conf > > -rw-r--r-- 1 mapr mapr 282 MB Nov 18 12:48 hadoop-2.7.0.tgz > > -rw-r--r-- 1 mapr mapr 156 KB Nov 18 14:04 stderr > > -rw-r--r-- 1 mapr mapr 743 B Nov 18 12:48 stdout > > > > /hadoop-2.7.0/ > > > > drwxrwxrwx 3 mapr root 4 KB Nov 18 12:48 logs > > drwxr-xr-x 2 mapr root 4 KB Sep 10 14:40 bin > > drwxr-xr-x 3 mapr root 4 KB Sep 10 14:40 etc > > drwxr-xr-x 2 mapr root 4 KB Sep 10 14:40 include > > drwxr-xr-x 3 mapr root 4 KB Sep 10 14:40 lib > > drwxr-xr-x 2 mapr root 4 KB Sep 10 14:40 libexec > > drwxr-xr-x 2 mapr root 4 KB Sep 10 14:40 sbin > > drwxr-xr-x 4 mapr root 4 KB Sep 10 14:40 share > > -rw-r--r-- 1 mapr root 15 KB Jul 09 04:36 LICENSE.txt > > -rw-r--r-- 1 mapr root 101 B Jul 09 04:36 NOTICE.txt > > -rw-r--r-- 1 mapr root 1 KB Jul 09 04:36 > > > > /hadoop-2.7.0/bin > > > > -rwxr-xr-x 1 mapr root 9 KB Jul 09 04:36 hadoop > > -rwxr-xr-x 1 mapr root 10 KB Jul 09 04:36 hadoop.cmd > > -rwxr-xr-x 1 mapr root 12 KB Jul 09 04:36 hdfs > > -rwxr-xr-x 1 mapr root 7 KB Jul 09 04:36 hdfs.cmd > > -rwxr-xr-x 1 mapr root 7 KB Jul 09 04:36 mapred > > -rwxr-xr-x 1 mapr root 6 KB Jul 09 04:36 mapred.cmd > > -rwxr-xr-x 1 mapr root 2 KB Jul 09 04:36 rcc > > -rwxr-xr-x 1 mapr root 172 KB Jul 09 04:36 test-container-executor > > -rwxr-xr-x 1 mapr root 14 KB Jul 09 04:36 yarn > > -rwxr-xr-x 1 mapr root 11 KB Jul 09 04:36 yarn.cmd > > ----r-x--- 1 root mapr 140 KB Jul 09 04:36 container-executor > > > > /hadoop-2.7.0/etc > > > > drwxr-xr-x 2 mapr root 4 KB Nov 18 12:48 hadoop > > > > /hadoop-2.7.0/etc/hadoop/ > > > > rw-r--r-- 1 mapr root 4 KB Jul 09 04:36 capacity-scheduler.xml > > -rw-r--r-- 1 mapr root 1 KB Jul 09 04:36 configuration.xsl > > -rw-r--r-- 1 root root 168 B Oct 06 08:37 container-executor.cfg > > -rw-r--r-- 1 mapr root 775 B Oct 06 08:37 core-site.xml > > -rw-r--r-- 1 mapr root 631 B Jul 09 04:36 fair-scheduler.xml > > -rw-r--r-- 1 mapr root 4 KB Jul 09 04:36 hadoop-env.cmd > > -rw-r--r-- 1 mapr root 4 KB Jul 09 04:36 hadoop-env.sh > > -rw-r--r-- 1 mapr root 2 KB Jul 09 04:36 hadoop-metrics.properties > > -rw-r--r-- 1 mapr root 3 KB Jul 09 04:36 hadoop-metrics2.properties > > -rw-r--r-- 1 mapr root 9 KB Jul 09 04:36 hadoop-policy.xml > > -rw-r--r-- 1 mapr root 775 B Jul 09 04:36 hdfs-site.xml > > -rw-r--r-- 1 mapr root 1 KB Jul 09 04:36 httpfs-env.sh > > -rw-r--r-- 1 mapr root 2 KB Jul 09 04:36 httpfs-log4j.properties > > -rw-r--r-- 1 mapr root 21 B Jul 09 04:36 httpfs-signature.secret > > -rw-r--r-- 1 mapr root 620 B Jul 09 04:36 httpfs-site.xml > > -rw-r--r-- 1 mapr root 3 KB Jul 09 04:36 kms-acls.xml > > -rw-r--r-- 1 mapr root 1 KB Jul 09 04:36 kms-env.sh > > -rw-r--r-- 1 mapr root 2 KB Jul 09 04:36 kms-log4j.properties > > -rw-r--r-- 1 mapr root 5 KB Jul 09 04:36 kms-site.xml > > -rw-r--r-- 1 mapr root 11 KB Jul 09 04:36 log4j.properties > > -rw-r--r-- 1 mapr root 951 B Jul 09 04:36 mapred-env.cmd > > -rw-r--r-- 1 mapr root 1 KB Jul 09 04:36 mapred-env.sh > > -rw-r--r-- 1 mapr root 4 KB Jul 09 04:36 mapred-queues.xml.template > > -rw-r--r-- 1 mapr root 1 KB Oct 06 08:37 mapred-site.xml > > -rw-r--r-- 1 mapr root 1 KB Jul 09 04:36 mapred-site.xml.template > > -rw-r--r-- 1 root root 3 KB Nov 18 12:27 myriad-config-default.yml > > -rw-r--r-- 1 mapr root 10 B Jul 09 04:36 slaves > > -rw-r--r-- 1 mapr root 2 KB Oct 06 08:37 ssl-client.xml > > -rw-r--r-- 1 mapr root 2 KB Jul 09 04:36 ssl-client.xml.example > > -rw-r--r-- 1 mapr root 2 KB Oct 06 08:37 ssl-server.xml > > -rw-r--r-- 1 mapr root 2 KB Jul 09 04:36 ssl-server.xml.example > > -rw-r--r-- 1 mapr root 2 KB Jul 09 04:36 yarn-env.cmd > > -rw-r--r-- 1 mapr root 5 KB Jul 09 04:36 yarn-env.sh > > -rw-r--r-- 1 mapr root 2 KB Sep 14 10:07 yarn-site-2015-09-14.10-07.xml > > -rw-r--r-- 1 mapr root 2 KB Oct 06 08:37 yarn-site-2015-10-06.08-37.xml > > -rw-r--r-- 1 mapr mapr 77 KB Nov 18 12:48 yarn-site.xml > > -rw-r--r-- 1 mapr root 4 KB Jul 09 04:36 yarn-site.xml.template > > > > > > Redhat 7: This is not working with the error included: > > > > STARTUP_MSG: build = g...@github.com:mapr/private-hadoop-common.git -r > > 5264b1d5c5c2a849ee0eb09cfcbbed19fb0bfb53; compiled by 'root' on > > 2015-07-07T19:19Z > > STARTUP_MSG: java = 1.8.0_65 > > > > Error on Red hat > > ExitCodeException exitCode=24: File > > > /tmp/mesos/slaves/76792ee5-3fcb-465c-8601-b2f0eb0dc95d-S4/frameworks/76792ee5-3fcb-465c-8601-b2f0eb0dc95d-0000/executors/myriad_executor76792ee5-3fcb-465c-8601-b2f0eb0dc95d-000076792ee5-3fcb-465c-8601-b2f0eb0dc95d-O51676792ee5-3fcb-465c-8601-b2f0eb0dc95d-S4/runs/0aa590af-9a94-42c7-b736-6cc7537fd226/hadoop-2.7.0/etc/hadoop > > must be owned by root, but is owned by 700 > > > > marathon user: mapr > > myriadframeuser: mapr > > myriadsuperuser: mapr > > > > > > > > / > > drwxr-xr-x 10 mapr mapr 4 KB Sep 25 09:15 > > hadoop-2.7.0 > > -rw-r--r-- 1 mapr mapr 76 KB Nov 18 > > 15:59 conf > > -rw-r--r-- 1 mapr mapr 306 MB > > Nov 18 15:59 hadoop-2.7.0.tgz > > -rw-r--r-- 1 mapr mapr 121 KB Nov 18 > > 15:59 stderr > > -rw-r--r-- > > > > > > /hadoop-2.7.0/ > > > > drwxrwxrwx 2 mapr root 4 KB Nov 18 15:57 > > logs > > drwxr-xr-x 2 mapr root 4 KB Sep 25 > > 09:16 bin > > drwxr-xr-x 3 mapr root 4 KB Sep 25 > > 09:15 etc > > drwxr-xr-x 2 mapr root 4 KB Sep 25 > > 09:15 include > > drwxr-xr-x 3 mapr root 4 KB Sep 25 > > 09:15 lib > > drwxr-xr-x 2 mapr root 4 KB Sep 25 > > 09:16 libexec > > drwxr-xr-x 2 mapr root 4 KB Sep 25 > > 09:16 sbin > > drwxr-xr-x 4 mapr root 4 KB Sep 25 > > 09:15 share > > 1 > > > > /hadoop-2.7.0/bin > > > > -rwxr-xr-x 1 mapr root 9 KB Jul 09 > > 05:38 hadoop > > -rwxr-xr-x 1 mapr root 10 KB Jul 09 > > 05:38 hadoop.cmd > > -rwxr-xr-x 1 mapr root 12 KB Jul 09 > > 05:38 hdfs > > -rwxr-xr-x 1 mapr root 7 KB Jul 09 > > 05:38 hdfs.cmd > > -rwxr-xr-x 1 mapr root 7 KB Jul 09 > > 05:37 mapred > > -rwxr-xr-x 1 mapr root 6 KB Jul 09 > > 05:37 mapred.cmd > > -rwxr-xr-x 1 mapr root 2 KB Jul 09 > > 05:38 rcc > > -rwxr-xr-x 1 mapr root 128 KB Jul 09 > > 05:38 test-container-executor > > -rwxr-xr-x 1 mapr root 14 KB Jul 09 > > 05:38 yarn > > -rwxr-xr-x 1 mapr root 11 KB Jul 09 > > 05:38 yarn.cmd > > ----r-x--- 1 root mapr 111 KB Jul > > 09 05:38 container-executor > > > > mapr mapr 786 B Nov 18 15:59 stdout > > > > > > /hadoop-2.7.0/etc > > mode nlink uid gid size mtime > > > > drwxr-xr-x 2 mapr root 4 KB Nov 18 > > 15:59 hadoop > > > > /hadoop-2.7.0/etc/hadoop > > -rw-r--r-- 1 mapr root 4 KB Jul > > 09 05:38 capacity-scheduler.xml > > -rw-r--r-- 1 mapr root 1 KB Jul > > 09 05:38 configuration.xsl > > -rw-r--r-- 1 root root 168 B Nov > > 02 18:22 container-executor.cfg > > -rw-r--r-- 1 mapr root 775 B Nov 02 > > 18:22 core-site.xml > > -rw-r--r-- 1 mapr root 631 B Jul 09 > > 05:38 fair-scheduler.xml > > -rw-r--r-- 1 mapr root 4 KB Jul > > 09 05:38 hadoop-env.cmd > > -rw-r--r-- 1 mapr root 4 KB Jul > > 09 05:38 hadoop-env.sh > > -rw-r--r-- 1 mapr root 2 KB Jul > > 09 05:38 hadoop-metrics.properties > > -rw-r--r-- 1 mapr root 3 KB Jul > > 09 05:38 hadoop-metrics2.properties > > -rw-r--r-- 1 mapr root 9 KB Jul > > 09 05:38 hadoop-policy.xml > > -rw-r--r-- 1 mapr root 775 B Jul 09 > > 05:38 hdfs-site.xml > > -rw-r--r-- 1 mapr root 1 KB Jul > > 09 05:38 httpfs-env.sh > > -rw-r--r-- 1 mapr root 2 KB Jul > > 09 05:38 httpfs-log4j.properties > > -rw-r--r-- 1 mapr root 21 B Jul > > 09 05:38 httpfs-signature.secret > > -rw-r--r-- 1 mapr root 620 B Jul 09 > > 05:38 httpfs-site.xml > > -rw-r--r-- 1 mapr root 3 KB Jul > > 09 05:38 kms-acls.xml > > -rw-r--r-- 1 mapr root 1 KB Jul > > 09 05:38 kms-env.sh > > -rw-r--r-- 1 mapr root 2 KB Jul > > 09 05:38 kms-log4j.properties > > -rw-r--r-- 1 mapr root 5 KB Jul > > 09 05:38 kms-site.xml > > -rw-r--r-- 1 mapr root 11 KB Jul 09 > > 05:38 log4j.properties > > -rw-r--r-- 1 mapr root 931 B Jul 09 > > 05:38 mapred-env.cmd > > -rw-r--r-- 1 mapr root 1 KB Jul > > 09 05:38 mapred-env.sh > > -rw-r--r-- 1 mapr root 4 KB Jul > > 09 05:38 mapred-queues.xml.template > > -rw-r--r-- 1 mapr root 1 KB Nov > > 02 18:22 mapred-site.xml > > -rw-r--r-- 1 mapr root 1 KB Jul > > 09 05:38 mapred-site.xml.template > > -rw-r--r-- 1 mapr root 3 KB Nov > > 18 15:57 myriad-config-default.yml > > -rw-r--r-- 1 mapr root 10 B Jul > > 09 05:38 slaves > > -rw-r--r-- 1 mapr root 2 KB Nov > > 02 18:22 ssl-client.xml > > -rw-r--r-- 1 mapr root 2 KB Jul > > 09 05:38 ssl-client.xml.example > > -rw-r--r-- 1 mapr root 2 KB Nov > > 02 18:22 ssl-server.xml > > -rw-r--r-- 1 mapr root 2 KB Jul > > 09 05:38 ssl-server.xml.example > > -rw-r--r-- 1 mapr root 2 KB Jul > > 09 05:38 yarn-env.cmd > > -rw-r--r-- 1 mapr root 5 KB Jul > > 09 05:38 yarn-env.sh > > -rw-r--r-- 1 mapr root 2 KB Oct > > 01 16:56 yarn-site-2015-10-01.20-56.xml > > -rw-r--r-- 1 mapr root 2 KB Oct > > 08 06:32 yarn-site-2015-10-08.10-32.xml > > -rw-r--r-- 1 mapr root 2 KB Oct > > 16 15:33 yarn-site-2015-10-16.19-33.xml > > -rw-r--r-- 1 mapr root 2 KB Nov > > 02 18:22 yarn-site-2015-11-02.23-22.xml > > -rw-r--r-- 1 mapr mapr 76 KB Nov 18 > > 16:01 yarn-site.xml > > -rw-r--r-- 1 mapr root 4 KB Jul > > 09 05:38 yarn-site.xml.template > > > > On Wed, Nov 18, 2015 at 12:41 PM, John Omernik <j...@omernik.com> wrote: > > > >> So there are two issues currently I am looking into. The first is the > >> permissions of directories. I'd still like to get the feelings from the > >> group on that because I've not managed to get Myriad/Yarn working on one > >> cluster (based on Ubuntu 14.04) but can't get it to work on another > cluster > >> based on Red Hat 7. It's strange from what I can tell everything is the > >> same, but the Redhat cluster complains about the the permissions > >> /etc/hadoop not being owned by root (it's owned by mapr:root but on the > >> ubuntu cluster that works fine with the same ownership!) I do notice > that > >> my build times reported by mapr are different.. but that may just be the > >> build for Redhat vs the build for Ubuntu? Still digging into that > one... > >> > >> As to the hostname / mapr.host issue. I found a neat hack that may work > >> for folks > >> > >> By setting this in my myriad config: > >> > >> yarnEnvironment: > >> > >> YARN_HOME: hadoop-2.7.0 > >> > >> YARN_NODEMANAGER_OPTS: "-Dnodemanager.resource.io-spindles=4.0 > >> -Dmapr.host=$(hostname -f)" > >> > >> > >> I am able to get the mapr.host set back to be the correct hostname where > >> the nodemanager is running, this helps with a number of issues. I > thought > >> about this, and realized it would be better if I could get the hostname > to > >> the createTTVolume script but use a unique name for the mount point > (What > >> if I have multiple NMs on a single physical node?) > >> > >> So, I tried: > >> > >> YARN_NODEMANAGER_OPTS: "-Dnodemanager.resource.io-spindles=4.0 > >> -Dmapr.host=$(basename `pwd`)" > >> > >> > >> Thinking that if I could get the directory name of the "run" in my > >> sandbox, I should be reasonably assured of uniqueness. That seemed to > work > >> when the nodemanager kicked off the the command: > >> > >> /opt/mapr/server/createTTVolume.sh hadoopmapr2.brewingintel.com > >> /var/mapr/local/48833481-0c7a-4728-8f93-bcf9b545ad81/mapred > >> /var/mapr/local/48833481-0c7a-4728-8f93-bcf9b545ad81/mapred/nodeManager > yarn > >> > >> > >> However, the script never returned, and the task failed. So at this > >> point, I think we can get good info passed to the MapR script, but I am > not > >> sure how the script or how mapr is creating the volume to work in > >> conjunction with Yarn. > >> > >> To summarize: Right now I have Myriad working... but only on a Ubuntu > >> Mesos cluster. I have NOT changed my /tmp location for the Mesos > slaves, I > >> can't get things working on my Redhat cluster, and I seemed to have > found a > >> hacky workaround for the mapr.host. Here is the script I am using to > build > >> my tgz file... > >> > >> > >> #!/bin/bash > >> > >> > >> BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" > >> > >> > >> echo "#### Base Location: $BASEDIR" > >> > >> > >> ################## BUILD VARIABLES > >> > >> > >> HADOOP_VER="hadoop-2.7.0" > >> > >> HADOOP_BASE="/opt/mapr/hadoop" > >> > >> HADOOP_HOME="${HADOOP_BASE}/${HADOOP_VER}" > >> > >> MYRIAD_BUILD="/opt/mapr/myriad/incubator-myriad" > >> > >> CONF_LOC="/mapr/brewpot/mesos/myriad/conf" > >> > >> URI_LOC="/mapr/brewpot/mesos/myriad" > >> > >> > >> > >> > >> ################################# > >> > >> #Clean the working directory > >> > >> echo "#### Cleaning Build DIR and old tgz" > >> > >> sudo rm -rf ./${HADOOP_VER} > >> > >> sudo rm -rf ./${HADOOP_VER}.tgz > >> > >> > >> #Copy a fresh copy of the hadoopz > >> > >> echo "#### Copying Clean Build" > >> > >> > >> # I go here and tar with h and p. h is so all the symlinked items in the > >> MapR get put into the tgz and p to preserver permissions > >> > >> cd $HADOOP_BASE > >> > >> sudo tar zcfhp ${BASEDIR}/${HADOOP_VER}.tgz $HADOOP_VER > >> > >> > >> echo "#### Untaring New Build" > >> > >> # I untar things in a new location so I can play without affecting the > >> "stock" install > >> > >> cd $BASEDIR > >> > >> sudo tar zxfp ${HADOOP_VER}.tgz > >> > >> > >> echo "#### Now remove source tgz to get ready for build" > >> > >> sudo rm ${HADOOP_VER}.tgz > >> > >> > >> > >> > >> # This permission combination seems to work. I go and grab the > >> container-executor from the stock build so that I have the setuid > version. > >> > >> echo "#### Cleaning Base Build Logs, yarn-site, and permissions" > >> > >> sudo rm $HADOOP_VER/etc/hadoop/yarn-site.xml > >> > >> sudo rm -rf $HADOOP_VER/logs/* > >> > >> sudo chown mapr:mapr ${HADOOP_VER} > >> > >> sudo chown -R mapr:root ${HADOOP_VER}/* > >> > >> sudo chown root:root ${HADOOP_VER}/etc/hadoop/container-executor.cfg > >> > >> sudo cp --preserve ${HADOOP_HOME}/bin/container-executor > >> ${HADOOP_VER}/bin/ > >> > >> > >> > >> > >> #Copy the jars from Myriad into the Hadoop libs folders (You will need > to > >> have Myriad build first with the root of your build being $MYRIAD_BUILD > >> > >> echo "#### Copying Myriad Jars" > >> > >> sudo cp $MYRIAD_BUILD/myriad-scheduler/build/libs/*.jar > >> $HADOOP_VER/share/hadoop/yarn/lib/ > >> > >> sudo cp > >> $MYRIAD_BUILD/myriad-executor/build/libs/myriad-executor-0.1.0.jar > >> $HADOOP_VER/share/hadoop/yarn/lib/ > >> > >> > >> #Address Configs > >> > >> > >> # First take the myriad-config-default.yml and put it into the > >> $HADOOP/etc/hadoop so it's in the tarball > >> > >> echo "#### Updating myriad-config-default.yml" > >> > >> sudo cp ${CONF_LOC}/myriad-config-default.yml ${HADOOP_VER}/etc/hadoop/ > >> > >> > >> # Tar all the things with all the privs > >> > >> echo "#### Tarring all the things" > >> > >> sudo tar zcfhp ${HADOOP_VER}.tgz ${HADOOP_VER}/ > >> > >> > >> # Copy to the URI location... note I am using MapR so I cp it directly > to > >> the MapFS location via NFS share, it would probably be good to use a > hadoop > >> copy command for interoperability > >> > >> echo "#### Copying to HDFS Location" > >> > >> cp ${HADOOP_VER}.tgz ${URI_LOC}/ > >> > >> > >> # I do this because it worked... not sure if I remo > >> > >> #sudo chown mapr:mapr ${URI_LOC}/${HADOOP_VER}.tgz > >> > >> > >> #echo "#### Cleaning unpacked location" > >> > >> sudo rm -rf ./${HADOOP_VER} > >> > >> sudo rm ./${HADOOP_VER}.tgz > >> > >> > >> > >> > >> On Wed, Nov 18, 2015 at 9:40 AM, yuliya Feldman < > >> yufeld...@yahoo.com.invalid> wrote: > >> > >>> I would love to have that piece of code "configurable", but it is not > at > >>> the moment. > >>> Will send you patch offline. > >>> Thanks,Yuliya > >>> From: John Omernik <j...@omernik.com> > >>> To: dev@myriad.incubator.apache.org; yuliya Feldman < > >>> yufeld...@yahoo.com> > >>> Sent: Wednesday, November 18, 2015 6:02 AM > >>> Subject: Re: Struggling with Permissions > >>> > >>> Yuliya, I would be interested in the patch for MapR, is that a patch > for > >>> Myriad or a patch for Hadoop on MapR? I wonder if there is a hadoop > env > >>> file I could modified in my TGZ to help address the issue on my nodes > as > >>> well. Can you describe what "mapr.host" is and if I can force overwrite > >>> that in my ENV file or will MapR clobber that at a later point in > >>> execution? I am thinking that with some simple sed, I could "fix" the > >>> conf > >>> file. > >>> > >>> Wait, I suppose there is no way for me edit the command used to run the > >>> node manager... there's a thought. Could Myriad provide an ENV value or > >>> something that would allow us to edit the command or insert something > >>> into > >>> the command that is used to run the NM? (below is the the command on > my > >>> cluster) Basically, if there was a way to template that and alter it > in > >>> the Myriad config, I could add commands to update the variables in the > >>> conf > >>> file before it's copied to yarn-site on every node... just spitballing > >>> ideas here... > >>> > >>> > >>> > >>> sudo tar -zxpf hadoop-2.7.0-NM.tar.gz && sudo chown mapr . && cp conf > >>> hadoop-2.7.0/etc/hadoop/yarn-site.xml; export YARN_HOME=hadoop-2.7.0; > >>> sudo > >>> -E -u mapr -H env YARN_HOME=hadoop-2.7.0 > >>> YARN_NODEMANAGER_OPTS=-Dnodemanager.resource.io-spindles=4.0 > >>> -Dyarn.resourcemanager.hostname=myriad.marathon.mesos > >>> > >>> > -Dyarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor > >>> -Dnodemanager.resource.cpu-vcores=2 > -Dnodemanager.resource.memory-mb=8192 > >>> -Dmyriad.yarn.nodemanager.address=0.0.0.0:31984 > >>> -Dmyriad.yarn.nodemanager.localizer.address=0.0.0.0:31233 > >>> -Dmyriad.yarn.nodemanager.webapp.address=0.0.0.0:31716 > >>> -Dmyriad.mapreduce.shuffle.port=31786 /bin/yarn nodemanager > >>> > >>> > >>> > >>> On Tue, Nov 17, 2015 at 4:44 PM, yuliya Feldman > >>> <yufeld...@yahoo.com.invalid > >>> > wrote: > >>> > >>> > Hadoop (not Mapr) requires whole path starting from "/" be owned by > >>> root > >>> > and writable only by root > >>> > The second problem is exactly what I was talking about configuration > >>> being > >>> > taken from RM that overwrites local one > >>> > I can give you a patch to mitigate the issue for Mapr if you are > >>> building > >>> > from source. > >>> > Thanks,Yuliya > >>> > From: John Omernik <j...@omernik.com> > >>> > To: dev@myriad.incubator.apache.org > >>> > Sent: Tuesday, November 17, 2015 1:15 PM > >>> > Subject: Re: Struggling with Permissions > >>> > > >>> > Well sure /tmp is world writeable but /tmp/mesos is not world > writable > >>> thus > >>> > there is a sandbox to play in there... or am I missing something. Not > >>> to > >>> > mention my tmp is rwt which is world writable but only the creator or > >>> root > >>> > can modify (based on the googles). > >>> > Yuliya: > >>> > > >>> > I am seeing a weird behavior with MapR as it relates to (I believe) > the > >>> > mapr_direct_shuffle. > >>> > > >>> > In the Node Manager logs, I see things starting and it saying > >>> "Checking for > >>> > local volume, if local volume is not present command will create and > >>> mount > >>> > it" > >>> > > >>> > Command invoked is : /opt/mapr/server/createTTVolume.sh > >>> > hadoopmapr7.brewingintel.com /var/mapr/local/ > >>> > hadoopmapr2.brewingintel.com/mapred /var/mapr/local/ > >>> > hadoopmapr2.brewingintel.com/mapred/nodeManager yarn > >>> > > >>> > > >>> > What is interesting here is hadoopmapr7 is the nodemanager it's > trying > >>> to > >>> > start on, however the mount point it's trying to create is > hadoopmapr2 > >>> > which is the node the resource manager happened to fall on... I was > >>> very > >>> > confused by that because in no place should hadoopmapr2 be "known" to > >>> the > >>> > nodemanager, because it thinks the resource manager hostname is > >>> > myriad.marathon.mesos. > >>> > > >>> > So why was it hard coding to the node the resource manager is running > >>> on? > >>> > > >>> > Well if I look at the conf file in the sandbox (the file that gets > >>> copied > >>> > to be yarn-site.xml for node managers. There ARE four references the > >>> > hadoopmapr2. Three of the four say "source programatically" and one > is > >>> just > >>> > set... that's mapr.host. Could there be some down stream hinkyness > >>> going > >>> > on with how MapR is setting hostnames? All of these variables seem > >>> "wrong" > >>> > in that mapr.host (on the node manager) should be hadoopmapr7 in this > >>> case, > >>> > and the resource managers should all be myriad.marathon.mesos. I'd > be > >>> > interested in your thoughts here, because I am stumped at how these > are > >>> > getting set. > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > <property><name>yarn.resourcemanager.address</name><value>hadoopmapr2:8032</value><source>programatically</source></property> > >>> > <property><name>mapr.host</name><value>hadoopmapr2.brewingintel.com > >>> > </value></property> > >>> > > >>> > > >>> > <property><name>yarn.resourcemanager.resource-tracker.address</name><value>hadoopmapr2:8031</value><source>programatically</source></property> > >>> > > >>> > > >>> > <property><name>yarn.resourcemanager.admin.address</name><value>hadoopmapr2:8033</value><source>programatically</source></property> > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > On Tue, Nov 17, 2015 at 2:51 PM, Darin Johnson < > >>> dbjohnson1...@gmail.com> > >>> > wrote: > >>> > > >>> > > Yuliya: Are you referencing yarn.nodemanager.hostname or a mapr > >>> specific > >>> > > option? > >>> > > > >>> > > I'm working right now on passing a > >>> > > -Dyarn.nodemanager.hostname=offer.getHostName(). Useful if you've > >>> got > >>> > > extra ip's for a san or management network. > >>> > > > >>> > > John: Yeah the permissions on the tarball are a pain to get right. > >>> I'm > >>> > > working on Docker Support and a build script for the tarball, which > >>> > should > >>> > > make things easier. Also, to the point of using world writable > >>> > directories > >>> > > it's a little scary from the security side of things to allow > >>> executables > >>> > > to run there, especially things running as privileged users. Many > >>> > distro's > >>> > > of linux will mount /tmp noexec. > >>> > > > >>> > > Darin > >>> > > > >>> > > On Tue, Nov 17, 2015 at 2:53 PM, yuliya Feldman > >>> > > <yufeld...@yahoo.com.invalid > >>> > > > wrote: > >>> > > > >>> > > > Please change workdir directory for mesos slave to one that is > not > >>> /tmp > >>> > > > and make sure that dir is owned by root. > >>> > > > There is one more caveat with binary distro and MapR - in Myriad > >>> code > >>> > for > >>> > > > binary distro configuration is copied from RM to NMs - it doe > snot > >>> work > >>> > > for > >>> > > > MapR since we need hostname (yes for the sake of local volumes) > to > >>> be > >>> > > > unique. > >>> > > > MapR will have Myriad release to handle this situation. > >>> > > > From: John Omernik <j...@omernik.com> > >>> > > > To: dev@myriad.incubator.apache.org > >>> > > > Sent: Tuesday, November 17, 2015 11:37 AM > >>> > > > Subject: Re: Struggling with Permissions > >>> > > > > >>> > > > Oh hey, I found a post by me back on Sept 9. I looked at the > >>> Jiras and > >>> > > > followed the instructions with the same errors. At this point do > I > >>> > still > >>> > > > need to have a place where the entire path is owned by root? That > >>> seems > >>> > > > like a an odd requirement (a changed of each node to facilitate a > >>> > > > framework) > >>> > > > > >>> > > > > >>> > > > > >>> > > > > >>> > > > > >>> > > > On Tue, Nov 17, 2015 at 1:25 PM, John Omernik <j...@omernik.com> > >>> > wrote: > >>> > > > > >>> > > > > Hey all, I am struggling with permissions on myriad, trying to > >>> get > >>> > the > >>> > > > > right permissions in the tgz as well as who to run as. I am > >>> running > >>> > in > >>> > > > > MapR, which means I need to run as mapr or root (otherwise my > >>> volume > >>> > > > > creation scripts will fail on MapR, MapR folks, we should talk > >>> more > >>> > > about > >>> > > > > those scripts) > >>> > > > > > >>> > > > > But back to the code, I've had lots issues. When I run the > >>> > > Frameworkuser > >>> > > > > and Superuser as mapr, it unpacks everything as MapR and I get > a > >>> > > > > "/bin/container-executor" must be owned by root but is owned by > >>> 700 > >>> > (my > >>> > > > > mapr UID). > >>> > > > > > >>> > > > > So now I am running as root, and I am getting the error below > as > >>> it > >>> > > > > relates to /tmp. I am not sure which /tmp this refers to. the > >>> /tmp > >>> > that > >>> > > > my > >>> > > > > slave is executing in? (i.e. my local mesos agent /tmp > >>> directory) or > >>> > my > >>> > > > > MaprFS /tmp directory (both of which are world writable, as > /tmp > >>> > > > typically > >>> > > > > is... or am I mistaken here?) > >>> > > > > > >>> > > > > Any thoughts on how to get this to resolve? This is when > >>> nodemanager > >>> > is > >>> > > > > trying to start running as root and root for both of my Myriad > >>> users. > >>> > > > > > >>> > > > > Thanks! > >>> > > > > > >>> > > > > > >>> > > > > Caused by: ExitCodeException exitCode=24: File /tmp must not be > >>> world > >>> > > or > >>> > > > group writable, but is 1777 > >>> > > > > > >>> > > > > > >>> > > > > > >>> > > > > > >>> > > > > >>> > > > > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > > >>> > > >>> > > >>> > >>> > >>> > >>> > >> > >> > > > > >