2013-08-16 1 views
7

libhdfs.so를 사용하여 hdfs에 파일을 쓰려면 C++로 인터페이스를 작성하려고합니다.C++ (libhdfs)의 hdfs에 파일 쓰기

Error occurred during initialization of VM 
java/lang/NoClassDefFoundError: java/lang/Object 

이 오류가 따라 여전히 CLASSPATH를 업데이트 : 내 목표 하둡 버전은 2.0.2 알파

아래 코드

hdfsFS fs = hdfsConnect("127.0.0.1",8020); 
if (!fs) 
{ 
    printf("Hadoop file system returned null. \n"); 
    return 0; 
} 

실행하는 동안 다음과 같은 오류를 제공합니다. 여기에 누락 된 단계는 무엇입니까? 모든 .so 파일이 올바르게 연결됩니다.

+0

이것은 C++ 코드와 아무런 관련이 없다고 생각합니다. 왜 자바가 관여하고 있습니까? 그것이 어디에 있든 - 문제가있는 곳입니다. – jheriko

+0

자바 설치를 확인하십시오. http://stackoverflow.com/q/11808829 – usr1234567

+0

@jheriko Hadoop은 자바 애플리케이션입니다. – aalku

답변

1

당신은 하둡

$의 하둡 클래스 경로

에 필요한 자바 클래스 경로를 찾아 환경 변수 CLASSPATH

$ 수출 이러한 모든 경로를 추가 할 명령을 다음 사용할 수 있습니다 CLASSPATH = $ CLASSPATH :`hadoop classpath`

Here은 CDH4 용 libhdfs의 예입니다. exec.sh의 환경 설정을 확인하십시오.