MRUnit в Windows без кластера Hadoop

Я ищу, есть ли способ запустить модульные тесты Hadoop Mapreduce в Windows без установки Hadoop. Работает ли MRUnit в Windows (без cygwin) в Eclipse как проект Java maven?

Спасибо, Шриватсан Наллажагаппан.


person Srivatsan Nallazhagappan    schedule 17.05.2014    source источник


Ответы (1)


Вы можете запускать автономные MRUnit тесты. Все, что вам нужно, это несколько зависимостей в файле pom. Я только что провел небольшой тест, и это единственные зависимости, которые мне нужны для успешного запуска теста. Просто простой тест с жестко закодированными значениями. Никакого cywin, никакой настройки хаупа, только зависимости.

<dependencies>
    <dependency>
        <groupId>jdk.tools</groupId>
        <artifactId>jdk.tools</artifactId>
        <version>1.7.0_25</version>
        <scope>system</scope>
        <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-common</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.mrunit</groupId>
        <artifactId>mrunit</artifactId>
        <version>1.0.0</version>
        <classifier>hadoop2</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>2.2.0</version>
    </dependency>
</dependencies>

Что касается запуска установки без cygwin, это также возможно. Взгляните на этот сайт и этот сайт за помощь в создании и установке hadoop. для Windows без cywin.

Еще одним полезным инструментом является подключаемый модуль Hadoop для eclipse. Вы можете увидеть скомпилированную версию здесь. Это довольно легко использовать. Вы можете получить помощь по его использованию здесь

person Paul Samsotha    schedule 18.05.2014
comment
Спасибо. Работает отлично. Это круто, я вижу, что Mrunit также поддерживает распределенный кеш. Просто расширение моего первоначального вопроса (при необходимости создаст отдельный пост), я предполагаю, что mrunit не может имитировать, если в методе карты/настройки есть вызовы чтения/записи hdfs (я понимаю, что это обычно не рекомендуется, к сожалению, я читал вызовы в моем методе установки). - person Srivatsan Nallazhagappan; 19.05.2014
comment
Вы можете использовать MiniMRCluster и MiniDFSCluster, как обсуждалось здесь. Для этого вам понадобится hadoop-test-x.y.z.jar. Я только что установил его в eclipse. Дайте мне знать, если вам нужна дополнительная информация - person Paul Samsotha; 17.06.2014
comment
Спасибо. Буду пробовать их. Обнаружено, что Mrunit, похоже, не имеет полной поддержки распределенного кеша (например, функция символической ссылки недоступна), по крайней мере, в версии 1.0.0, которую я использую. - person Srivatsan Nallazhagappan; 19.06.2014