2013-08-16 9 views
7

私はlibhdfs.soを使ってhdfsにファイルを書き込むためにC++でインタフェースを書こうとしています。C言語でhdfsにファイルを書く(libhdfs)

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

このエラーを取得してそれに応じて、まだCLASSPATHを更新:私のターゲットのHadoopのバージョンは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++コードとは関係ないと思います。なぜJavaが関与しているのですか?どこにいても問題はどこにあるのでしょうか。 – jheriko

+0

Javaのインストールを確認してください。 http://stackoverflow.com/q/11808829 – usr1234567

+0

@jheriko HadoopはJavaアプリケーションです。 – aalku

答えて

1

あなたはHadoopの

$ Hadoopのクラスパス

で必要なJavaクラスパスを見つけ、

環境変数CLASSPATHに$輸出をこれらのパスのすべてを追加するには、次のコマンドを使用することができますCLASSPATH = $ CLASSPATH: `hadoop classpath`

Hereは、CDH4のlibhdfsの例です。 exec.shの環境設定に注意してください

関連する問題