I've followed the instructions on Hadoop Mesos, and when the task tracker
packages are downloaded by the mesos nodes, and unpacked, they lose the
permissions that are on them.

I've "tried to make it work" by making the package root:root and running
the job tracker command as root:root (which I know is not good thing, I am
going for "working" first :)

However the file at issue is the task-controller binary.  When that is
unpacked, it loses the setuid bit I have set on the file in the package.

I've confirmed on the package I am using that when I untar it using tar zxf
as root, that the task-controller does NOT lose the setuid bit.  But on the
lost tasks in Mesos I get the error below.  What's interesting is that if
"drill down" to the directory, the owner is root:root, but just the setuid
bit is missing.

I am curious what I may be missing here.

Thanks!

John



Error


4/08/16 06:23:16 INFO mapred.TaskController: Reading task controller
config from 
/tmp/mesos/slaves/20140815-103603-1677764800-5050-24315-1/frameworks/20140815-154511-1677764800-5050-7162-0022/executors/executor_Task_Tracker_8/runs/81b8636f-5f60-44c6-9342-87d157e96073/hadoop-0.20.2/conf/taskcontroller.cfg
14/08/16 06:23:16 INFO mapred.TaskController: number of groups = 2
14/08/16 06:23:16 INFO mapred.TaskController: The task-controller
binary should be set setuid.
14/08/16 06:23:16 INFO mapred.TaskController: Invalid permissions on
task-controller binary.
14/08/16 06:23:16 FATAL mapred.MesosExecutor: Failed to start TaskTracker
java.io.IOException: Task controller setup failed because of
invalidpermissions/ownership with exit code 22
        at 
org.apache.hadoop.mapred.LinuxTaskController.setup(LinuxTaskController.java:147)
        at org.apache.hadoop.mapred.TaskTracker.<init>(TaskTracker.java:2222)
        at 
org.apache.hadoop.mapred.MesosExecutor.launchTask(MesosExecutor.java:80)
Caused by: org.apache.hadoop.util.Shell$ExitCodeException:
        at org.apache.hadoop.util.Shell.runCommand(Shell.java:464)
        at org.apache.hadoop.util.Shell.run(Shell.java:379)
        at 
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589)
        at 
org.apache.hadoop.mapred.LinuxTaskController.setup(LinuxTaskController.java:141)
        ... 2 more

Reply via email to