Написание файлов в hdfs на C ++ (libhdfs)

Я пытаюсь написать интерфейс на C ++ для записи файлов в формате hdf, используя libhdfs.so. Моя целевая версия hadoop — 2.0.2-alpha

Код ниже

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

выдает следующую ошибку при запуске:

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

Обновил CLASSPATH соответственно, но все еще получаю эту ошибку.
Есть идеи, какой шаг я здесь пропускаю? Все файлы .so связаны правильно.

7

Решение

Вы можете использовать следующую команду, чтобы найти путь к классу Java, необходимый для hadoop

$ hadoop classpath

И добавьте все эти пути в переменную окружения CLASSPATH

$ export CLASSPATH = $ CLASSPATH: `путь к классу hadoop`

Вот пример libhdfs для CDH4 Обратите внимание на настройки среды в exec.sh

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]