#c #ant #hadoop
#c #ant #hadoop
Вопрос:
Мы используем Hadoop через API Hadoop C / C (libhdfs.so ). Мы используем последнюю стабильную версию Hadoop, которая равна 0.20.203. К сожалению, нет четких (и актуальных) инструкций по сборке libhdfs.so . Когда я пытаюсь собрать Hadoop с помощью ant, происходит сбой и не создается libhdfs.so библиотека.
Пытался использовать следующее:
ant -Dcompile.c =true -Dlibhdfs=true compile-c -libhdfs
Похоже, сбой в строке 1761 из build.xml . В этой строке находится следующий xml:
<exec executable="${c .libhdfs.src}/configure" dir="${build.c .libhdfs}"
failonerror="yes">
Есть ли у кого-нибудь инструкции по сборке libhdfs.so в Ubuntu 64bit 10.10?
Комментарии:
1. существует ли configure и имеет ли он право на исполняемый файл для текущего пользователя?
Ответ №1:
Я нашел решение своей проблемы. Произошел сбой, потому что настройка уже была выполнена, и мне нужно было выполнить «make dist clean» в каталоге «src / c / libhdfs» перед сборкой библиотеки. Теперь он работает, как ожидалось, используя:
ant -Dcompile.c =true -Dlibhdfs=true compile-c -libhdfs
Ответ №2:
Если вы работаете над hadoop-2.7.2, вы можете использовать cmake в hadoop / hadoop-hdfs-project /hadoop-hdfs/src:
cmake -DJAVA_HOME=<your_jdk_path> -DGENERATED_JAVAH=<your_jdk_path> -DJAVA_JVM_LIBRARY=<your_jdk_path/jre/lib/amd64/server/libjvm.so> -DJAVA_INCLUDE_PATH=<your_jdk_path/include> -DJAVA_INCLUDE_PATH=<your_jdk_path/include/linux>
Затем он сгенерирует makefile для вас. Затем вы делаете: make
Комментарии:
1. Не могли бы вы указать, как это связано с решением, которое OP предоставил сам более 4 лет назад 😉 может быть, почему это лучше, если это так. Утверждается, что достаточно сделать dist чистым … почему cmake должен быть «лучше». Спасибо.