Статьи

SpringData-Hadoop: Jumpadart Hadoop с помощью Spring

В эти дни много шума вокруг таких жаргонов, как  HadoopHBaseHivePig  и BigData. Мне не терпелось узнать, что это за термины и как я могу их увидеть в реальном мире. У меня было настроено 2 гола,

  1. Создать экземпляр Hadoop Single Node
  2. Конечно, выяснить, как это интегрировано с Spring / Spring Batch

Как обычно, я гуглил, как быстро настроить и изучить эти инструменты. Путешествие не было гладким. Для пользователя Windows существует 2 способа настройки кластера Hadoop Single Node на вашем компьютере.

  1. Cygwin : Первый подход не прост в настройке, я потратил несколько дней, чтобы бороться с этим без особых результатов на моей Windows 7
  2. Открытый исходный код и коммерческая виртуальная машина:  EMC-GreenPlum (коммерческая),  Cloudera  /  Yahoo  (открытые источники) создали экземпляры VMware с Hadoop, Hive, встроенными в виртуальную машину,  и они утверждают, что она работает «из коробки». Yahoo VM частично работала на моей машине, но она устарела, она не интегрируется с Spring. Cloudera VM не работает на моей машине из-за некоторых 64-битных конфликтов.
  3. Я получил еще один  экземпляр виртуальной машины  от Cloudera для 32-битной, и он работал. Это экземпляр виртуальной машины Ubuntu со всеми вышеупомянутыми инструментами, установленными и предварительно настроенными.

Я начал с Варианта 3, вы можете запустить ВМ и сделать несколько быстрых тестов, как описано в  руководстве . Если вы действительно спешите, вы можете открыть терминал и запустить эти команды,

cd /usr/lib/hadoop
hadoop jar hadoop-examples.jar pi 10 1000000

Удачи, ты запустил свою первую работу в Hadoop.

Теперь в той же виртуальной машине загрузите  Gradle  и  SpringData-Hadoop  Installation. Распакуйте их в домашнюю директорию Cloudera. Перейдите к вашему файлу .profile и добавьте строку ниже в конце,

export PATH=$PATH:/user/cloudera/gradle-1.0-rc-3/bin

Обратите внимание, что ваша версия Gradle может отличаться, и вы должны изменить ее соответственно.

Теперь перейдите в <SpringData-Hadoop Home> / samples / batch-wordcount и откройте файл build.gradle, удалите записи репозиториев и добавьте следующие строки:

repositories {
// Public Spring artefacts
mavenCentral()
maven { url "http://repo.springsource.org/libs-release" }
maven { url "http://repo.springsource.org/libs-milestone" }
maven { url "http://repo.springsource.org/libs-snapshot" }
maven { url "http://www.datanucleus.org/downloads/maven2/" }
maven { url "http://oss.sonatype.org/content/repositories/snapshots" }
maven { url "http://people.apache.org/~rawson/repo" }
maven { url "https://repository.cloudera.com/artifactory/cloudera-repos/" }
}

Откройте <SpringData-Hadoop Home> /samples/batch-wordcount/gradle.properties и измените

hadoopVersion = 0.20.2-cdh3u3

Откройте <SpringData-Hadoop Home> /samples/batch-wordcount/src/main/resources/hadoop.properties и отредактируйте следующие строки

hd.fs=hdfs://localhost:8020
mapred.job.tracker=localhost:8021

Теперь перейдите в командную строку и запустите тест gradle, тест будет успешным. Вот документация / учебное пособие по  интеграции Spring Hadoop

Если вы хотите узнать больше о Hadoop, есть хорошие учебники от Cloudera и YDN, пожалуйста, ознакомьтесь с ними.