Good Day,
 
This is what I do to solve the problem below.
 
I used cygserver to start the tasktracker, instead using the Java Wrapper 
Service. And now my cluster can work correctly.
 
In your cygwin bash window, you can try this command:
 
cygrunsrv --install "Hadoop TaskTracker" -p /usr/local/hadoop/bin/hadoop -a 
tasktracker -c /usr/local/hadoop -t auto -u <your username> -n -O -y "Hadoop 
DataNode" 
 
Although I know that my solution does not actually solve the problem listed 
below, it may be a temporary solution for now. I welcome any appropriate 
solution when it appears.
 
As there are a lot of unused Windows-based computer during weekends and 
holidays, the Hadoop cluster is mostly made up of Windows-based nodes. As 
Hadoop is a Java platform, it has a higher chance of having many different 
configurations of computers (Windows-based/Linux-based/others) linked to form a 
(possibly free) cluster and thus truly cross-platform.
 
So to the Hadoop community, please do not give up on making Hadoop being truly 
cross-platform.
 
I am currently writing a Web Service for the Hadoop cluster in my University to 
be accessed over the Internet, thus currently busy with my project. If possible 
after my project, I hope that I can contribute to make Hadoop truly 
cross-platform.
 
Thanks.
=============================
 
Good Day,

I have managed to run my hadoop cluster (3-nodes, TT/JT and NN/DN) currently by 
using Windows Service via Java Wrapper Service. But my tasktracker seems unable 
to run any task.

I thought the spawn jvm will inherit the classpath of the parent jvm, even 
starting using Windows. Is Windows the cause? If it is the cause, is there any 
other way that I can do via configuration to solve this problem?

Below is the logs

Log By One Of The Map Task Attempt (attempt_200909071902_0006_m_000004_3)

java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/Child Caused by: 
java.lang.ClassNotFoundException: org.apache.hadoop.mapred.Child at 
java.net.URLClassLoader$1.run(URLClassLoader.java:200) at 
java.security.AccessController.doPrivileged(Native Method) at 
java.net.URLClassLoader.findClass(URLClassLoader.java:188) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:306) at 
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:251) at 
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) Exception in 
thread "main" 

Log In The TaskTracker (for the above attempt)

2009-09-07 19:21:42,181 INFO org.apache.hadoop.mapred.TaskTracker: addFreeSlot 
: current free slots : 2
2009-09-07 19:21:42,181 INFO org.apache.hadoop.mapred.TaskTracker: 
LaunchTaskAction (registerTask): attempt_200909071902_0006_m_000004_3 task's 
state:UNASSIGNED
2009-09-07 19:21:42,181 INFO org.apache.hadoop.mapred.TaskTracker: Trying to 
launch : attempt_200909071902_0006_m_000004_3
2009-09-07 19:21:42,181 INFO org.apache.hadoop.mapred.TaskTracker: In 
TaskLauncher, current free slots : 2 and trying to launch 
attempt_200909071902_0006_m_000004_3
2009-09-07 19:21:42,243 INFO org.apache.hadoop.mapred.JvmManager: In JvmRunner 
constructed JVM ID: jvm_200909071902_0006_m_1046393994
2009-09-07 19:21:42,243 INFO org.apache.hadoop.mapred.JvmManager: JVM Runner 
jvm_200909071902_0006_m_1046393994 spawned.
2009-09-07 19:21:42,743 WARN org.apache.hadoop.mapred.TaskRunner: 
attempt_200909071902_0006_m_000004_3 Child Error
java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:425)
2009-09-07 19:21:42,743 INFO org.apache.hadoop.mapred.JvmManager: JVM : 
jvm_200909071902_0006_m_1046393994 exited. Number of tasks it ran: 0
2009-09-07 19:21:45,743 INFO org.apache.hadoop.mapred.TaskRunner: 
attempt_200909071902_0006_m_000004_3 done; removing files.

Reply via email to