하둡 问题 解决 : 내장 - 자바 클래스에 해당되는 경우를 사용하여 ... 당신의 플랫폼을위한 네이티브 하둡 라이브러리를로드 할 수 없습니다 : util.NativeCodeLoader 경고

 

 

 일단 구성 하둡 환경, 명령은 경고를 찾을 ./start-all.sh 자주 나타납니다 시작합니다 :

util.NativeCodeLoader 경고 : 당신의 플랫폼을위한 네이티브 하둡 라이브러리를로드 할 수 없습니다 ... 내장 - 자바 클래스에 해당되는 경우를 사용하여

이 문제의 해결에 방법을 요약 :

기본 하둡 라이브러리가 가져올 문제가 디렉토리의 기본 파일 libhadoop.so.1.0.0 정적 라이브러리 보는 것입니다 찾는 데 실패라고 경고에서 설명한 바와 같이,이 문제는 호환성에 너무 낮은 리드 인 패키지의 버전에 따라 달라진다 문제.

1, 인터넷이 일부가 리눅스 시스템, libhadoop.so.1.0.0 64 32 비트입니다 말을하기 때문에, 그것은이 문제가 발생합니다, 우리는 먼저 선을보고

[루트 @ 마스터 sbin에] # uName의은 - r에
 2.6 . (32) - 279 .el6.x86_64

libhadoop.so.1.0.0 버전을 살펴에서

[루트 @ 마스터 기본] # 파일 libhadoop.so. 1.0 . 0 
libhadoop.so. 1.0 . 0 : ELF 64 비트 LSB 공유 객체 , 86 - 64 , 버전 1 (SYSV), 동적 링크, 박리하지

당신은 버전이 64 비트, 아무런 문제가있다 볼 수 있습니다.

 

2, 첫 번째 질문을 제외하고, 우리는 종속 라이브러리의 버전이 좀 걸릴 수 있습니다

[루트 @ 마스터 기본] #의 LDD의 libhadoop.so. 1.0 . 0 
. /libhadoop.so. 1.0 . 0 : /lib64/libc.so. 6 : 버전`GLIBC_2. 14 ' 찾을 수 없음 (./libhadoop.so.1.0.0에서 요구하는) 
        linux-vdso.so. 1 => ( 0x00007fff31efd000 ) 
        libdl.so. 2 => /lib64/libdl.so. 2 ( 0x00007f654dd25000 ) 
        libpthread.so. 0 => /lib64/libpthread.so. 0 ( 0x00007f654db07000 ) 
        libc.so. 6 => /lib64/libc.so.6 ( 0x00007f654d775000 )
         / lib64에 / LD 리눅스 - 86 - 64 .so는. 2 ( 0x00007f654e155000 )

GLIBC_2.14 버전이 발견되지 않는, 우리는 확인하려고하는 시스템 라이브러리의 glibc 버전

[루트 @ 마스터 sbin에] #의 LDD - 버전 
LDD (GNU libc의) 2.12 
저작권 (C) 2010 자유 소프트웨어 재단, 주식 입니다 무료 소프트웨어; 소스 참조 에 대한 복사 조건을. 없습니다 NO 
보증; 심지어 위한 상품성 또는 특정 목적에 대한 적합성. 
由롤랜드 맥그래스和울리히 드레 퍼编写.

현재 버전은 2.12입니다 볼 수 있습니다, 그것은 다음 버전이 GLIBC를 지원하는 것을 확인 하였다

由롤랜드 맥그래스和울리히 드레 퍼编写. 
[루트 @ 마스터 sbin에] # 문자열 /lib64/libc.so. 6 | GLIBC grep을 
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

버전 2.12, 그리고 우리의 하둡 버전에 대한 최대 지원 당신은 기본적인 문제가 발생 확인할 수 있습니다, 2.14이며, 그 다음 솔루션은 시스템 CLIBC 버전을 업데이트하는 것입니다.

다음은 공식 버전의 GLIBC은   http://ftp.gnu.org/gnu/libc/

우리는 2.12 버전보다 높은를 선택

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

다음으로, 설치 glibc가-2.17.tar.gz

[루트 @ 마스터 /] # cd를 / 옵션 / 
[루트 @ 마스터 수신 거부] # 개의 wget과에 http : // ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.gz 
[루트 @ 마스터 수신 거부] # 타르 -zxvf glibc- 2.17 .tar.gz를 
[루트 @ 마스터 수신 거부] # cd를 glibc에 - 2.17 
[루트 @ 마스터의 glibc - 2.17 ] # 
[루트 @ 마스터의 glibc - 2.17 ] #에서 mkdir 빌드 
[루트 @ 마스터의 glibc - 2.17 ] # cd를 / 빌드 
[루트 @ 마스터 빌드] # 
[루트 @ 마스터 빌드] .. # / 구성 --prefix =는 / usr --disable-프로필 --enable-추가 기능 --with-헤더 =는 / usr / 포함 - 와 - 바이너리 유틸리티 =는 / usr / 
[루트 @ 마스터 빌드] #make && 설치하기

설치가 완료 체크 CLIBC 버전입니다 :

[루트 @ 마스터 빌드] # 문자열 /lib64/libc.so. 6 | GLIBC grep을 
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_2. 13 
GLIBC_2. 14 
GLIBC_2. 15 
GLIBC_2. 16 
GLIBC_2. (17)
GLIBC_PRIVATE

2.17에 지원하고 하둡를 시작했습니다, 나는 경고가 우리의 문제가 해결되는 것을 증명하기 위해, 사라진 것을 발견했다.

[루트 @ 마스터 sbin에] #은 ./start-all.sh 
[마스터]에 namenodes 시작 
부터 데이타 노드 
보조 namenodes [마스터] 시작 
ResourceManager에 시작 
부터 nodemanagers을

  

  

추천

출처www.cnblogs.com/fengguozhong/p/11724685.html