일단 구성 하둡 환경, 명령은 경고를 찾을 ./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을