Статьи

Hadoop Hangover: запуск кластера Hadoop CDH4 с использованием Apache Whirr

Этот пост о том, как запустить кластер CDH4 MRv1 или CDH4 Yarn на экземплярах EC2. Говорят, что вы можете запустить кластер с помощью Whirr и за 5 минут! Это очень верно, если и только если все работает хорошо!

Надеюсь, эта статья поможет вам в этом отношении.
Итак, давайте гребем лодку …

  • Загрузите стабильную версию Apache Whirr ie. whirr-0.8.1.tar.gz по следующей ссылке  whirr-0.8.1.tar.gz
  • Извлеките из tarball и сгенерируйте ключ 
  • $ tar -xzvf whirr-0.8.1.tar.gz
    $ cd whirr-0.8.1
  • Генерация ключа
  • $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa_whirr 
    $ cd whirr-0.8.1 
  • Создайте файл свойств для запуска кластера с этой конфигурацией. # Здесь имя кластера
    whirr.cluster-name=testcluster
     
    # Change the number of machines in the cluster here
    # Using 3 DN and TT and 1JT and NN
    # Ganglia is configured
    whirr.instance-templates=1 hadoop-jobtracker+hadoop-namenode+ganglia-monitor+ganglia-metad,3 hadoop-datanode+hadoop-tasktracker+ganglia-monitor
     
    # Install JAVA
    whirr.java.install-function=install_openjdk
    whirr.java.install-function=install_oab_java
     
    ## Install CDH4 MRV1
    whirr.hadoop.install-function=install_cdh_hadoop
    whirr.hadoop.configure-function=configure_cdh_hadoop
    whirr.env.REPO=cdh4
     
    # For EC2 set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.
    whirr.provider=aws-ec2
    whirr.hardware-id=c1.xlarge
     
    # Credentials should go here
    whirr.identity=XXXXXXXXXXXXXXXXX
    whirr.credential=XXXXXXXXXXXXXXXXXXXX
    whirr.cluster-user=whirr
    whirr.private-key-file=/home/ubuntu/.ssh/yourKey
    whirr.public-key-file=/home/ubuntu/.ssh/yourKey.pub
    
  • Теперь позвольте мне рассказать вам, как избежать головной боли!
    • Имя кластера: держите имя вашего кластера простым. Избегайте testCluster, testCluster1 и т. Д. Т.е. Без заглавных букв, цифр ..
    • Определите количество данных, которые вы хотите разумно.
    • Ваш запуск может быть неудачным, если java не установлен. Убедитесь, что изображение имеет Java. Однако этот файл свойств позаботится об этом.
    • Будет хорошо, если мы продолжим работу с MRv1, а затем переключимся на MRv2, когда мы получим стабильный выпуск.
    • Это минимальный набор конфигураций для запуска кластера Hadoop. Но вы можете сделать много настройки производительности на этом.
    • Я запустил этот кластер из экземпляра ec2. Сначала я столкнулся с ошибками в отношении пользователя. Установка конфигурации ниже, решил проблему.
    • whirr.cluster-user=whirr
    • Установите правильные разрешения для папок ~ / .ssh и whirr-0.8.1 перед запуском.
  •  Что ж, мы готовы запустить кластер. Назовите файл свойств как «whirr_cdh.properties».
  • $ cd whirr-0.8.1
    $ bin/whirr launch-cluster --config whirr_cdh.properties

    В консоли вы можете увидеть ссылки на веб-интерфейс Namenode и JobTracker.
    Это также печатает, как ssh к экземплярам в конце.
  • Теперь у вас должны быть сгенерированные файлы. Вы сможете увидеть эти файлы: instances, hadoop-proxy.sh и hadoop-site.xml
  • Запуск прокси
  • $ sh hadoop-proxy.sh
  • Откройте другой терминал и введите
  • Вы должны иметь доступ к HDFS.
  • $ export HADOOP_CONF_DIR=~/.whirr/testcluster/hadoop-site.xml
    $ hadoop fs -ls /
  • Вы также можете скачать tar-архив hadoop и запустить его с 
  • $ bin/hadoop --config ~/.whirr/testcluster fs -ls /

  •  Ладно!
    Так что я знаю, что вы не будете удовлетворены, если вы не веб-интерфейс
  • Теперь запустите Firefox (3.0v +)
  • Загрузите расширение FoxyProxy, нажав эту ссылку.
  • Шаги для настройки и доступа к интерфейсу
  • Выберите Инструменты> FoxyProxy> Параметры
  • Нажмите кнопку «Добавить новый прокси».
  • Выберите «Ручная настройка прокси»
  • Введите «localhost» в поле «Host or IP Address».
  • Введите «6666» в поле «Порт».
  • Нажмите на вкладку «Общие» в верхней части диалогового окна.
  • Введите «EC2» в поле «Имя прокси».
  • Нажмите на вкладку «Шаблоны URL» в верхней части диалогового окна.
  • Нажмите кнопку «Добавить новый шаблон».
  • Введите «EC2» в поле «Имя шаблона».
  • Введите «* compute-1.amazonaws.com *, * .ec2.internal *, * .compute-1.internal *» в поле «Шаблон URL» (без учета регистра)
  • Выберите переключатели «Белый список» и «Подстановочные знаки».
  • Нажмите кнопку «ОК», чтобы закрыть диалоговое окно нового шаблона URL.
  • Нажмите кнопку «ОК», чтобы закрыть новое диалоговое окно прокси.
  • Полностью отключите Foxyproxy на данный момент.
  • Вы должны увидеть 2 имени прокси после закрытия, по умолчанию и EC2.
  • Нажмите «Использовать прокси EC2 для всех URL» во всплывающем меню FoxyProxy.
  • Скопируйте URL-адрес JobTracker (можно увидеть во время работы прокси, ec2 — *** — ** — *** — **. ********. Amazonaws.com) и вставьте его в браузер.

Итак, мы готовы идти! 

  •   Если вы хотите запустить MRv2, используйте это.
  • ## Cluster name goes here.
    whirr.cluster-name=yarncluster
    # Change the number of machines in the cluster here
    whirr.instance-templates=1 hadoop-namenode+yarn-resourcemanager+mapreduce-historyserver,2 hadoop-datanode+yarn-nodemanager
    
    # Install JAVA
    whirr.java.install-function=install_openjdk
    whirr.java.install-function=install_oab_java
    
    ## Install CDH4 Yarn 
    whirr.hadoop.install-function=install_cdh_hadoop
    whirr.hadoop.configure-function=configure_cdh_hadoop
    whirr.yarn.configure-function=configure_cdh_yarn
    whirr.yarn.start-function=start_cdh_yarn
    whirr.mr_jobhistory.start-function=start_cdh_mr_jobhistory
    whirr.env.REPO=cdh4
    whirr.env.MAPREDUCE_VERSION=2
    
    # For EC2 set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.
    whirr.provider=aws-ec2
    whirr.hardware-id=c1.xlarge
    
    # Credentials should go here
    whirr.identity=XXXXXXXXXXXXXXXXX
    whirr.credential=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    whirr.cluster-user=whirr
    whirr.private-key-file=/home/ubuntu/.ssh/yourKey
    whirr.public-key-file=/home/ubuntu/.ssh/yourKey.pub

  • и тот же процесс! 

Счастливого обучения! ?