writing files in hdfs in c libhdfs

writing files in hdfs in c libhdfs  using -'java,c++,hadoop,hdfs'

I am trying to write an interface in C++ to write files in hdfs using libhdfs.so. My target hadoop version is 2.0.2-alpha

The below code

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

provides the following error while running:

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

Updated the CLASSPATH accordingly but still getting this error.
Any idea what is the step I am missing here? All the .so files are linked correctly.

asked Oct 11, 2015 by deven.bendale
0 votes

1 Answer

0 votes

You can use following command to find the java classpath needed by hadoop

$hadoop classpath

And add all of these paths to environment variable CLASSPATH

$export CLASSPATH=$CLASSPATH:`hadoop classpath`

Here is a example of libhdfs for CDH4. Notice the environment settings in exec.sh

answered Oct 11, 2015 by badhwar.rohit