2013-08-16 29 views
7

Libhdfs.so kullanarak dosyaları hdfs dosyasına yazmak için C++ uygulamasında bir arabirim yazmaya çalışıyorum.C++ (libhdfs) içinde hdfs dosyaları yazma

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

bu hatayı alıyorum buna göre ama yine CLASSPATH Güncelleme: Hedefim Hadoop sürümü 2.0.2-alfa

Aşağıdaki kod

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

çalıştırırken aşağıdaki hatayı sağlar olduğunu. Herhangi bir fikrim burada eksik olan adım nedir? Tüm .so dosyaları doğru şekilde bağlanmıştır.

+0

'daki ortam ayarlarına dikkat edin, bunun C++ koduyla ilgisi olmadığını hayal edin. java neden dahil oluyor? nerede olursanız sorun budur. – jheriko

+0

Java kurulumunuzu kontrol edin, cf. http://stackoverflow.com/q/11808829 – usr1234567

+0

@jheriko Hadoop bir java uygulamasıdır. – aalku

cevap

1

Sen Hadoop

$ Hadoop sınıf yolu

ihtiyaç duyduğu java sınıfyolu bulmak Ve ortam değişkeni CLASSPATH'e

$ ihracat için aşağıdaki yollardan bütün eklemek için komutu aşağıdaki kullanabilirsiniz CLASSPATH = $ CLASSPATH: hadoop sınıf yolu

Here, CDH4 için libhdfs örneğidir. Exec.sh