В эти дни много шума вокруг таких жаргонов, как Hadoop , HBase , Hive , Pig и BigData. Мне не терпелось узнать, что это за термины и как я могу их увидеть в реальном мире. У меня было настроено 2 гола,
- Создать экземпляр Hadoop Single Node
- Конечно, выяснить, как это интегрировано с Spring / Spring Batch
Как обычно, я гуглил, как быстро настроить и изучить эти инструменты. Путешествие не было гладким. Для пользователя Windows существует 2 способа настройки кластера Hadoop Single Node на вашем компьютере.
- Cygwin : Первый подход не прост в настройке, я потратил несколько дней, чтобы бороться с этим без особых результатов на моей Windows 7
- Открытый исходный код и коммерческая виртуальная машина: EMC-GreenPlum (коммерческая), Cloudera / Yahoo (открытые источники) создали экземпляры VMware с Hadoop, Hive, встроенными в виртуальную машину, и они утверждают, что она работает «из коробки». Yahoo VM частично работала на моей машине, но она устарела, она не интегрируется с Spring. Cloudera VM не работает на моей машине из-за некоторых 64-битных конфликтов.
- Я получил еще один экземпляр виртуальной машины от 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, пожалуйста, ознакомьтесь с ними.