1.      hadoop启动报错

1.1.    问题1

util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

主要是依赖包 版本 过低的问题。

首先要定位问题,出现该问题的原因主要是hadoop native下面的hadoop静态库的问题:

libhadoop.so.1.0.0

原因一:

网上有很多说法是版本 默认 64位 而 系统是  32位,验证一下:

先看下系统版本:

uname -r

再看下  libhadoop.so.1.0.0 库 的版本

file  libhadoop.so.1.0.0

[root@master native]# file libhadoop.so.1.0.0

libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

可以看到并不是版本的问题。

原因二 :

其实是依赖库的问题

对静态库查看下依赖:看下依赖是否都正常:

ldd libhadoop.so.1.0.0

./libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libhadoop.so.1.0.0)

linux-vdso.so.1 =>  (0x00007fff369ff000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007f3caa7ea000)

libc.so.6 => /lib64/libc.so.6 (0x00007f3caa455000)

/lib64/ld-linux-x86-64.so.2 (0x00007f3caac1b000)

可以看到是glibc 版本的问题:

GLIBC_2.14找不到,现在检查系统的glibc库,  ldd --version  即可检查。

输入命令:

ldd --version

ldd (GNU libc) 2.12

Copyright (C) 2010 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

还可以直接确认下glibc 目前支持的版本:

通过如下查询方法:

strings /lib64/libc.so.6|grep GLIBC

[root@soft native]# strings /lib64/libc.so.6|grep GLIBC

GLIBC_2.2.5

GLIBC_2.2.6

GLIBC_2.3

GLIBC_2.3.2

GLIBC_2.3.3

GLIBC_2.3.4

GLIBC_2.4

GLIBC_2.5

GLIBC_2.6

GLIBC_2.7

GLIBC_2.8

GLIBC_2.9

GLIBC_2.10

GLIBC_2.11

GLIBC_2.12

GLIBC_PRIVATE

[root@soft native]#

可以看到目前只支持到 2.12

那么现在需要升级 glibc 库就行了。

1.2.    升级glibc

Glibc 升级采用源码编译安装的方法:

wget  http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz

tar -xf glibc-2.17.tar.gz

cd glibc-2.17

mkdir build; cd build

../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

make -j 8

make  install

strings /lib64/libc.so.6 | grep GLIBC

这时已经有了2.17

重启start-dfs.sh,报错继续。

原因三 :

环境配置的问题:

在hadoop-env.sh中,添加下面配置:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

在修改完成后需要重新执行

hadoop namenode –format

然后再启动。

hadoop启动报错处理的更多相关文章

  1. hadoop启动报错:localhost: ssh: Could not resolve hostname localhost

    hadoop启动journalnode时报错:localhost: ssh: Could not resolve hostname localhost: Temporary failure in na ...

  2. Hbase master启动报错:Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster Caused by: java.net.UnknownHostException:

    Hbase master启动报错: java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop ...

  3. eclipse运行hadoop程序报错:Connection refused: no further information

    eclipse运行hadoop程序报错:Connection refused: no further information log4j:WARN No appenders could be foun ...

  4. 【原创】大叔问题定位分享(29)datanode启动报错:50020端口被占用

    集群中有一台datanode一直启动报错如下: java.net.BindException: Problem binding to [$server1:50020] java.net.BindExc ...

  5. 【原创】大叔问题定位分享(24)hbase standalone方式启动报错

    hbase 2.0.2 hbase standalone方式启动报错: 2019-01-17 15:49:08,730 ERROR [Thread-24] master.HMaster: Failed ...

  6. Hbasewindows系统下启动报错及解决办法

    今天在本地windows电脑上,装pinpoint时,需要先安装一个Hbase数据库,按照教程下载启动Hbase数据库时,却启动报错:java.io.IOException: Could not lo ...

  7. hbase shell 启动报错

    启动hbase之后,发现hbase shell启动报错: version 2.0.0-alpha4, r5c4b985f89c99cc8b0f8515a4097c811a0848835, Tue Oc ...

  8. Hadoop0.20.203.0在关机重启后,namenode启动报错(/dfs/name is in an inconsistent state)

    Hadoop0.20.203.0在关机重启后,namenode启动报错: 2011-10-21 05:22:20,504 INFO org.apache.hadoop.hdfs.server.comm ...

  9. 【原创】大叔经验分享(67)spring boot启动报错

    spring boot 启动报错: Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback Logg ...

随机推荐

  1. 截取字符,超出的用省略号代替js实现 substring

    可用到截取文字过多的问题,取0到6之间的字符,不包含6title.substring(0,6)+'...';

  2. windows cmake与nmake

    在Linux下编库经常会使用CMakeLists.txt文件,然后一个cmake 再一个make就可以编译出来. 在Windows下有cmake,但是cmake出来是一个Visual Studio工程 ...

  3. Java中查询某个日期下所有时间段的数据

    除了利用时间段进行查询外,还有一个方法: 利用mybatis中的函数,将datetime转为date <if test="purch_date!= null and purch_dat ...

  4. Docker - CentOS 7 安装

    1. 概述 安装 docker markdown 显示有点问题 代码块里的  后面应该跟一个换行, 但是没有跟 这样会导致部分命令直接执行没有反应 2. 环境 os CentOS7 用户 root 3 ...

  5. go基础_数组

    数组有2种赋值方式 一种明确指定长度,另一种从赋值数目指定长度 package main import "fmt" func main() { //数组赋值方式1,指定长度 arr ...

  6. 定义列属性:null,default,PK,auto_increment

    *定义列属性* 1.列属性NULL: 是否为空,规定一个字段的值是否可以是null: null|not null 2.默认值属性:default value  默认值,在没有为该字段设置值时启用:而且 ...

  7. unittest 测试套件使用汇总篇

    # coding=utf-8import unittestfrom inspect import isfunction def usage(): """also unit ...

  8. linux 下部署web 程序

    linux 下部署web 程序 1. 创建ucenter用户 一般情况下,发布应用程序都不是使用root用户的,需要创建一个普通用户来发布程序: 创建ucenter用户: useradd -d /uc ...

  9. SaaS paas iaas是什么

    saas:软件即服务,必须对云服务商的定价及合同 条款进行仔细审查保证其安全性,如果存在纠纷云商切断服务话企业可能立马面临困境. paas:平台即服务 iaas :基础架构即服务.

  10. rf 环境

    googlechrome webdriver驱动下载 addrhttps://sites.google.com/a/chromium.org/chromedriver/downloads谷歌浏览器ap ...