Common Errors Encountered While Working With Hadoop
Failed to start the NameNode :
Installing Hadoop is
relative simple, but there may have some problems, after setting up the
environment, we need to specify the Java installation path by setting the
parameter JAVA_HOME in $Hadoop_path/conf/hadoop-env.sh, otherwise, the HDFS
will get error when it try to boot up.
No TaskTracker available:
The NameNode runs normally and also exist some DataNode, but no TaskTracker
exist, that's because if HDFS is not ready, the JobTracker will no accept any
TaskTracker to join, HDFS will be in safe mode when it start, it will not allow
any modifications to the file system, if the number of DataNode is not enough,
it will report error and state in safe mode. It may return “The ratio of
reported blocks 0.9982 has not reached the threshold 0.9990. Safe mode will be
turned off automatically." Turn on enough DataNode to reach the threshold
will solve this problem, if some of DataNode were crashed and the available
ratio is not enough, the only choice is to re-format the whole HDFS. So, less
than 3 DataNodes is dangerous.
MapReduce job stops at 0 Map
input and 0 reduce input:
In the RecordReader, the "next" function
should return true although there has no next value, we should use a local
variable as a flag to check if any other value pair exists.
Heap Space Error:
Memory on
TaskTracker is not enough, in default, the heap size of JVM is 128MB, so, we
could set it in client programs:
conf.set("mapred.child.java.opts","-Xmx1024m"); Lack of
memory may cause a lots of problems, such as the task may always failed and the
whole job failed, or too much content swapping, the performance will extremely
low.
Comments
Post a Comment