Hadoop的tasktracker启动失败,重编译native库

hadoop的datanode启动失败,只能启动datanode进程,而tasktracker则未能启动,查看HADOOP HOME下的hs_err_pid*文件,错误如下:

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGFPE (0x8) at pc=0x0000003995f07827, pid=32635, tid=1076017504
#
# JRE version: 6.0_32-b03
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.7-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [ld-linux-x86-64.so.2+0x7827]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.


根据这位仁兄的思路:http://jackiee-cn.iteye.com/blog/1192526

下载ant,重新编译hadoop的native库,把HADOOP HOME下:
build/native/Linux-amd64-64/lib
的所有文件,拷贝到HADOOP HOME的:
lib/native/Linux-amd64-64/

跟着修改core-site.xml,增加以下变量:

<property> 
  <name>hadoop.native.lib</name> 
  <value>true</value> 
</property> 


tasktracker就能正常启动。如果还是启动失败,可以看看gcc的版本,若gcc版本低于4.1则可能是gcc的问题,升级gcc的方法,见《Redhat AS 4 成功升级最新gcc》 http://blackwing.iteye.com/admin/blogs/1534642





猜你喜欢

转载自blackwing.iteye.com/blog/1535164