一、问题症状:

在安装hadoop的时候报类似如下的错误:

# A fatal error has beendetected by the Java Runtime Environment:

#

#  SIGFPE (0x8) atpc=0x40008026, pid=31393, tid=2283477936

#

# JRE version:6.0_29-b08

# Java VM: JavaHotSpot(TM) Client VM (20.4-b01 mixed mode linux-x86 )

# Problematic frame:

# C [ld-linux.so.2+0x8026]  double+0xb6

#

# If you would like tosubmit a bug report, please visit:

#   http://java.sun.com/webapps/bugreport/crash.jsp

# The crash happenedoutside the Java Virtual Machine in native code.

# See problematic framefor where to report the bug.

二、问题原因:

Hadoop依赖的本地库与操作系统不兼容,需要在本地重新编译依赖的so包。

三、解决过程:

1.      在$HADOOP_HOME目录下执行以下语句来编译:

ant -Dcompile.native=true compile-native

2.      由于ant使用了maven来做编译,而maven需要连网下载依赖的jar包,由于我们的环境是通过代理上网的,所以在执行上面的命令时会有报错,应要先设置ant的代理上网环境变量:

export ANT_OPTS="-Dhttp.proxyHost=10.3.1.6-Dhttp.proxyPort=8080"

3.      上述问题解决后,在编译过程中又提示没有zlib,就是本机没有安装zlib,如果不提示这个错误请忽略以下这个过程。下面是安装zlib的过程,从官方网站下载zlib库,下载地址如下。

http://zlib.net/zlib-1.2.8.tar.gz

mkdir zlib

cp zlib-1.2.8.tar.gz zlib

gzip –d zlib-1.2.8.tar.gz

tar xvf zlib-1.2.8.tar

cd zlib-1.2.8

./configure

make

sudo make install

上面的过程就完成了zlib的安装,

当使用wget命令下载时,若要使用代理,则可以参考如下命令:

wget -e http-proxy=10.3.1.6:8080 --proxy=on -c http://zlib.net/zlib-1.2.8.tar.gz

4.      然后再执行步骤1的命令,就完成了hadoop本地库的编译,编译产生的新本地库在以下目录:

$HADOOP_HOME/build/native/**ux-amd64-64/lib

5.      将上述目录下的文件全部copy到namenode的以下目录:

cd $HADOOP_HOME/build/native/**ux-amd64-64/lib

cp * $HADOOP_HOME/lib/native/**ux-amd64-64

同时还需要copy上述的包到各个datanode的相应目录下:

cd $HADOOP_HOME/lib/native/**ux-amd64-64

scp * aihadoop@10.3.3.142:~/hadoop/hadoop-1.0.0/lib/native/Linux-amd64-64/

scp * aihadoop@10.3.3.143:~/hadoop/hadoop-1.0.0/lib/native/Linux-amd64-64/

6.      然后在namenode上执行以下命令启动hadoop:

./start-all.sh

7.      输出日志大概如下,表示启动成功:

aihadoop@suse-141:~/hadoop/hadoop-1.0.0/bin>./start-all.sh

Warning: $HADOOP_HOME is deprecated.

starting namenode, logging to /home/aihadoop/hadoop/hadoop-1.0.0/libexec/../logs/hadoop-aihadoop-namenode-suse-141.out

10.3.3.143: starting datanode, logging to/home/aihadoop/hadoop/hadoop-1.0.0/libexec/../logs/hadoop-aihadoop-datanode-suse10t143.out

10.3.3.142: starting datanode, logging to /home/aihadoop/hadoop/hadoop-1.0.0/libexec/../logs/hadoop-aihadoop-datanode-suse-142.out

10.3.3.141: starting secondarynamenode, logging to/home/aihadoop/hadoop/hadoop-1.0.0/libexec/../logs/hadoop-aihadoop-secondarynamenode-suse-141.out

starting jobtracker, logging to/home/aihadoop/hadoop/hadoop-1.0.0/libexec/../logs/hadoop-aihadoop-jobtracker-suse-141.out

10.3.3.143: starting tasktracker, logging to/home/aihadoop/hadoop/hadoop-1.0.0/libexec/../logs/hadoop-aihadoop-tasktracker-suse10t143.out

10.3.3.142: starting tasktracker, logging to/home/aihadoop/hadoop/hadoop-1.0.0/libexec/../logs/hadoop-aihadoop-tasktracker-suse-142.out

错误。

Linux suse x86_64 环境上部署Hadoop启动失败原因分析的更多相关文章

  1. virsh default启动失败原因分析及解决

    启动default时出现如下错误提示:[root@node1 ~]# virsh net-start defaulterror: Failed to start network defaulterro ...

  2. centos7 sftp设置后 ssh 启动失败 原因分析

    大多数人 在 设置SFTP 使用时,会在 ../sshd_config中添加如下内容: ------------------------------- Subsystem sftp internal- ...

  3. windows上部署hadoop(单机版)

    在window系统开发程序时,远程linux服务器上的hadoop速度很慢,影响开发效率,能不能在本地搭建hadoop环境的?答案肯定的,且看下文如何在window上部署hadoop: (源文地址:h ...

  4. 如何一步步在生产环境上部署django和vue

    本文由云+社区发表 本文主要讲述了如何一步步在生产环境上部署django和vue,操作系统默认为centos 说明:后文中出现的以下字符串均表示具体的路径或者名称,含义如下: DJANGO_DIR-- ...

  5. ssh IP打通,hadoop启动失败

    ssh ip 无密码打通,hadoop启动失败 报错为:host'主机名' can't be established. 纠结了接近一个多小时 之后必须ssh 主机名 , yes一下,发现hadoop能 ...

  6. CentOS7上elasticsearch5.0启动失败

    CentOS7上elasticsearch5.0启动失败 刚一启动完直接就退出了 $ ./elasticsearch ... ERROR: bootstrap checks failed max fi ...

  7. Tomcat启动失败原因

    Tomcat启动失败原因 一.Tomcat启动时,要求被加载的项目必须拥有独立路径名称 发布的两个工程具有相同路径名称,这是不允许. 二.8080端口号已经被占用了 启动失败原因,就是8085端口上, ...

  8. 玩转Windows服务系列——无COM接口Windows服务启动失败原因及解决方案

    将VS创建的Windows服务项目编译生成的程序,通过命令行 “服务.exe -Service”注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服 ...

  9. 数据仓库006 - MySQL 5.6.x - Linux最佳生产环境离线部署

    一.离线安装包 文件准备 这里以mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz为例,记一次MySQL 5.6.x 的生产环境离线部署过程.使用SecureCRT连接 ...

随机推荐

  1. 细究UTF-8,GB2312及ISO-8859-1区别

    各个国家和地区所制定的不同 ANSI 编码标准中,都只规定了各自语言所需的“字符”.比如:汉字标准(GB2312)中没有规定韩国语字符怎样存储.这些 ANSI 编码标准所规定的内容包含两层含义:1. ...

  2. Netsharp快速入门(之13) 销售管理(单据流转 销售订单生成发货单)

    作者:秋时 杨昶   转载须说明出处 4.5     单据流转 4.5.1  单据流转的目的 单据流转主要为了实现业务关系的流转,并记录相互之间的关系.例如从销售订单生成销货单,两张单据之间有对应的关 ...

  3. 用Chrome devTools 调试Android手机app中的web页面。

    (1) 手机要满足Android系统为4.4或更高版本,低版本不支持这种方式.(2) 确保App已经开启了webview的debug调试模式,由Android工程师协助.(2) 用usb数据线连接好手 ...

  4. git学习,什么是git?

    什么是 Git? 百度百科显示,Git是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被认为是分布式版本控制工具中的顶级水准.智能.友好.强健.高效. 正如所 ...

  5. bnuoj 34985 Elegant String DP+矩阵快速幂

    题目链接:http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=34985 We define a kind of strings as elegant s ...

  6. JDBC数据库连接池原理

    JDBC是java数据库连接的简称.它是一种用于实行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成.其相关的API都在java.sql.*包下 ...

  7. try-catch语句讲解

    try-catch 语句由一个 try 块后跟一个或多个 catch 子句构成,这些子句指定不同的异常处理程序. 引发异常时,公共语言运行时 (CLR) 会查找处理此异常的 catch 语句. 如果当 ...

  8. hadoop-ha QJM 架构部署

    公司之前老的hadoop集群namenode有单点风险,最近学习此链接http://www.binospace.com/index.php /hdfs-ha-quorum-journal-manage ...

  9. mysql 函数,关键字,特性

    ## mysql 截取函数 left(),right(),substring(),substring_index()SELECT LEFT('www.baidu.com',3); # wwwSELEC ...

  10. 收集几个Web前端UI框架

    原文:http://www.isaced.com/post-200.html 关于Web前端UI库/框架,我觉得是非常方便的东西,对于我们这种业余的Web开发人员,有时候要写点前端代码的时候把UI框架 ...