Take a look at

http://hadoop.apache.org/docs/r1.0.3/cluster_setup.html

and look for 'Using the LinuxTaskController'

It has the info on what the permission and ownership of the task controller executable should be.

--
Arpit Gupta
Hortonworks Inc.
http://hortonworks.com/

On Sep 17, 2012, at 8:04 PM, Yongzhi Wang <wang.yongzhi2009@gmail.com> wrote:

Dear All,

I am currently deploying hadoop 1.0.3 on my Debian 32-bit Linux. I
think need a 32-bit binary file taskcontroller. However, I found the
binary
files provided in hadoop 1.0.3 is 64 bit. I downloaded the hadoop
build file from server jenkins
(https://builds.apache.org/job/Hadoop-1.0-Build/ws/trunk/build/c++-build/Linux-i386-32/task-controller/).
It's still a 64 bit file.

I got the following errors when I start task tracker using the hadoop
64-bit taskcontroller:

12/09/17 11:59:58 ERROR mapred.TaskTracker: Can not start task tracker
because java.io.IOException: Task controller setup failed because of
invalidpermissions/ownership with exit code 126
       at org.apache.hadoop.mapred.LinuxTaskController.setup(LinuxTaskController.java:143)
       at org.apache.hadoop.mapred.TaskTracker.<init>(TaskTracker.java:1452)
       at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:3742)
Caused by: org.apache.hadoop.util.Shell$ExitCodeException:
/opt/ywang/hadoop-1.0.3/libexec/../bin/task-controller:
/opt/ywang/hadoop-1.0.3/libexec/../bin/task-controller: cannot execute
binary file

       at org.apache.hadoop.util.Shell.runCommand(Shell.java:255)
       at org.apache.hadoop.util.Shell.run(Shell.java:182)
       at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:375)
       at org.apache.hadoop.mapred.LinuxTaskController.setup(LinuxTaskController.java:137)

I am wondering if not providing 32-bit of taskcontroller is a build
bug, or 64-bit taskcontroller can be used somehow on the 32-bit
platform? If no 32-bit executable is provided in the daily build of
hadoop, how can I build one by myself?

Thanks!