一、问题症状:

在安装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. 使用python远程登录

    最近要使用python做一个在web上管理交换机的程序,需要远程登录,就查了点资料,由于还没有搞到交换机,就先用自己的机器测试一下. 首先python的标准库中包含telnet,用起来也很方便,查看一 ...

  2. 【工具】openwrt安装记录

    步骤: 1  从以太网引导启动.由于我们实验室在服务器上放了一个openwrt镜像,安装时先从以太网启动,将服务器上的镜像载入到RAM中启动系统. 2  用SCP将在PC上编译好的openwrt-XX ...

  3. 【数据结构】通用的最小堆(最大堆)D-ary Heap

    听说有一种最小(大)堆,不限于是完全二叉树,而是完全D叉树,名为D-ary Heap(http://en.wikipedia.org/wiki/D-ary_heap).D可以是1,2,3,4,100, ...

  4. Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) C - Bear and Colors

    题目链接: http://codeforces.com/contest/673/problem/C 题解: 枚举所有的区间,维护一下每种颜色出现的次数,记录一下出现最多且最小的就可以了. 暴力n*n. ...

  5. Segment Tree with Lazy 分类: ACM TYPE 2014-08-29 11:28 134人阅读 评论(0) 收藏

    #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; stru ...

  6. javaScript中eval()方法转换json对象

    <script language="javascript"> var user = '{name:"张三",age:23,'+ 'address:{ ...

  7. Extjs文本输入框

    var loginForm = Ext.create('Ext.form.Panel', {         title: '单行输入',         renderTo: Ext.getBody( ...

  8. codeforces 442C C. Artem and Array(有深度的模拟)

    题目 感谢JLGG的指导! 思路: //把数据转换成一条折线,发现有凸有凹 //有凹点,去掉并加上两边的最小值//无凹点,直接加上前(n-2)个的和(升序)//数据太大,要64位//判断凹与否,若一边 ...

  9. UITextField输入中文限制

      [self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEve ...

  10. ELk 几篇好的文章

    https://nxlog.co/docs/elasticsearch-kibana/using-nxlog-with-elasticsearch-and-kibana.html http://www ...