Как установить hadoop на windows 10

Обновлено: 05.07.2024

В этой статье приведены сведения о способах развертывания экосистемы Apache Hadoop в HDInsight и управления ею при работе на компьютере с Windows.

Служба HDInsight включает в себя компоненты Apache Hadoop и Hadoop, технологии с открытым исходным кодом, разработанные на платформе Linux. HDInsight 3.4 и более поздних версий использует дистрибутив Ubuntu Linux в качестве базовой операционной системы кластера. Но с HDInsight можно также работать в клиенте или среде разработки Windows.

Задачи развертывания и управления с помощью PowerShell

Azure PowerShell — это среда сценариев, которая позволяет контролировать и автоматизировать задачи развертывания и управления в HDInsight на компьютере с Windows.

При помощи PowerShell можно выполнять такие задачи:

Указания по установке и настройке последней версии Azure PowerShell см. здесь.

Браузерные служебные программы

Ниже приведены примеры служебных программ с веб-интерфейсом, выполняемым в браузере.

Azure Cloud Shell — это интерактивная оболочка командной строки, которая работает в браузере и в портал Azure.

Веб-интерфейс Apache Ambari — служебная программа для управления и мониторинга, доступная на портале Azure. Она позволяет управлять разными видами заданий, например:

Средства Data Lake (Hadoop) для Visual Studio

При помощи средств Data Lake и Visual Studio можно выполнять следующие задачи:

    . . Биты содержат примеры шаблонов топологий Storm, которые можно подключать к базам данных, таким как Azure Cosmos DB и база данных SQL.

Intellij IDEA и Eclipse IDE для кластеров Spark

При помощи Intellij IDEA и Eclipse IDE можно выполнять следующие задачи:

  • разрабатывать и отправлять приложения Scala Spark в кластер HDInsight Spark;
  • получать доступ к ресурсам кластера Spark;
  • разрабатывать и запускать приложения Scala Spark в локальной среде.

В этих статьях описывается:

  • IntelliJ идея: создание Apache Spark приложений с помощью набора средств Azure для подключаемого модуля IntelliJ и пакета SDK Scala.
  • Интегрированная среда разработки Eclipse или интегрированная среда разработки Scala для Eclipse: Создание приложений Apache Spark и Azure Toolkit for Eclipse

Записные книжки в Spark для специалистов по обработке и анализу данных

Apache Spark кластеры в HDInsight включают в себя записные книжки Apache Zeppelin и ядра, которые можно использовать с записными книжками Jupyter.

Запуск средств и технологии Linux в Windows

Если вам нужно использовать средство или технологию, которые доступны только в Linux, рассмотрите следующие варианты.

  • Bash в Ubuntu в Windows 10 предоставляет подсистему Linux в Windows. Это средство позволяет напрямую запускать служебные программы Linux, не устанавливая выделенный сервер Linux. Шаги установки см. в статье Windows Subsystem for Linux Installation Guide for Windows 10 (Подсистема Windows для Linux в Windows 10). Другие оболочки Unix также будут работать.
  • Docker для Windows предоставляет доступ ко многим средствам Linux. Эту платформу можно запустить непосредственно из Windows. Например, с помощью Docker можно запустить клиент Beeline для Hive непосредственно из Windows. Вы также можете использовать DOCKER для запуска локального Jupyter Notebook и удаленного подключения к Spark в HDInsight. Начните работу с Docker для Windows.
  • MobaXTerm позволяет графически просматривать файловую систему кластера через SSH-подключение.

Кросс-платформенные средства

Azure CLI — это кроссплатформенный интерфейс командной строки от Майкрософт для управления ресурсами Azure. Дополнительные сведения см. в статье Azure Command-Line Interface (CLI).

Дальнейшие действия

Если вы только начали работать с кластерами под управлением Linux, см. сведения в следующих статьях:

1, иначе он сообщит об ошибке)5. Изменить файлы конфигурации (core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml)

Основная операция выполняется с этими четырьмя файлами конфигурации (если вы скачали hadooponwindows-master, вы можете сразу перезаписать каталоги bin и etc после распаковки, а затем только изменить информацию о пути в этих четырех папках.
(1)core-site.xml

6. Начните форматирование HDFS


Прежде всего, версия hadoop, чтобы увидеть, может ли она работать нормально

Затем выполните hdfs namenode -format
После форматирования текущий файл будет создан в файле namenode, и форматирование выполнено успешно.

3. Запуск Hadoop

Выполните команду start-all.cmd в cmd, чтобы запустить Hadoop, путь: E: \ Dev2 \ hadoop \ hadoop-2.6.0 \ sbin.
После успешного запуска появятся четыре окна: yarn-resourcemanager, yarn-nodemanager, hadoop-namenode, hadoop-datanode.
Как и выше, поздравляю и удачного запуска.

4. Проверка работы HDFS

После того, как среда Hadoop установлена, мы выберем команду hadoop и загрузим несколько файлов для борьбы с ней.

1. Создайте каталог

hadoop fs -mkdir hdfs://localhost:9000/my/


hadoop fs -mkdir hdfs://localhost:9000/my/testinput

2. Загрузите файл

hadoop fs -put E:\test01.txt hdfs://localhost:9000/my/testinput


hadoop fs -put E:\test02.txt hdfs://localhost:9000/my/testinput

3. Файлы запросов


hadoop fs -ls hdfs://localhost:9000/my/testinput

Я нашел только что загруженный файл, поздравляю, тест прошел успешно.

Пять, страница управления

Hadoop поставляется со страницей управления веб-интерфейсом,

1. Управление ресурсами (localhost: 8088)

2. Управление узлами (localhost: 50070)

image

Возможно ли развернуть кластер Hadoop в Windows Azure? Конечно же, да, и как вы сможете убедиться, это совсем нетрудно.

В этой статье я продемонстрирую порядок того, как создать типовой кластер с серверами Name Node, Job Tracker и управляемым числом Slave-серверов. Вы сможете динамически изменять число Slave-серверов с помощью портала Azure Management Portal. Описание механики этого управления я оставлю на следующий пост.

Следуйте следующим шагам для того, чтобы создать пакет Azure для вашего кластера Hadoop с нуля:

Загрузка необходимых инструментов

  • этот шаблон проекта для Visual Studio 2010 сконфигурирован по умолчанию с ролями для каждого компонента кластера Hadoop. Если у вас нет Visual Studio или вы не хотите установить бесплатную Express-версию, вы сможете выполнить всю работу из командной строки; кластера;
  • установите последнюю версию Azure SDK, на момент написания (и перевода) этой статьи – это была версия 1.4; . Я использовал версию 0.21. Hadoop распространяется в виде файла tar.gz, вам потребуется сконвертировать его в ZIP-архив, для чего вы можете использовать бесплатный архиватор 7-zip;
  • теперь вам потребуется установить Cygwin, а затем упаковать его в zip-архив. Hadoop 0.21 требует Cygwin под Windows. Ничего страшного, если вы ничего не знаете про Cygwin, Hadoop использует его сам, так что вам даже не придется самостоятельно запускать его. В будущем, вероятно, Hadoop 0.22 лишится этой зависимости, но пока эта версия еще не готова. Просто запустите инсталятор Cygwin и примите все установленные по умолчанию параметры в мастере установки. Cygwin будет установлен в папку C:\сygwin, упакуйте эту папку в архив cygwin.zip;
  • загрузите последнюю версию Yet Another Java Service Wrapper. На момент написания статьи, это была версия Beta-10.6;
  • последний компонент, который вам потребуется – это виртуальная Java-машина для запуска Hadoop и YAJSW. Если вы не захотите обновлять конфигурационные файлы представленные в этом руководстве, то вам потребуется упаковать вашу любимую JVM в zip-архив под названием jdk.zip. Все файлы JVM могут быть найдены по адресу C:\Program Files\Java\jdk1.6.0_<номер ревизии>\. Вам необходимо скопировать все файлы из этой папки в папку jdk и упаковать ее в zip-архив.

Конфигурирование вашего кластера

Файл cluster-config.zip, который вы загрузили ранее содержит все необходимые файлы для конфигурации вашего кластера Hadoop. Вы можете обнаружить в нем знакомые файлы [core|hdfs|mapred]-site.xml. Пока не обращайте на них внимания, я расскажу про их назначение в следующей статье. Отредактируйте файлы *-site.xml согласно требуемым вам параметрам конфигурации кластера. Убедитесь в том, что вы только добавили новые свойства и не изменяли существующие.

Создайте новый архив cluster-config.zip, если вы вносили какие либо изменения в конфигурацию кластера.

Загрузка всех компонент на Azure Storage

Создайте контейнер с именем bin и загрузите в него все созданные ранее zip-архивы. Используйте для этого свой любимый инструмент, например, ClumsyLeaf’s CloudXplorer. После этого у вас в контейнере должны быть следующие файлы:

image

Конфигурирование размещения на Azure

Распакуйте проект Visual Studio 2010. Далее вы можете использовать либо Visual Studio 2010 либо любой текстовый редактор. Я включил пакетный файл в шаблон для тех из вас, кто будет использовать командную строку.

Если вы используете Visual Studio, то вам потребуется изменить только один файл NameNode\SetEnvironment.cmd. Он находится среди прочих файлов проектов. Если вы не используете Visual Studio, то вам потребуется изменить этот файл по трем прочим путям NameNode\bin\Debug, JobTracker\bin\Debug и Slaves\bin\Debug. Воспользуйтесь своим ключом доступа к вашей учетной записи хранилища Azure и постройте строку соединения, затем замените ею текст [your connection string] в первой строке файлов SetEnvironment.cmd. Строка соединения Azure имеет следующий формат:

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

Размещение в Azure будет настроено на использование одной роли Large для Name Node, одной роли Large для Job Tracker и 4 роли Extra Large для Slave-узлов. Если вас устраивает такая конфигурация, то переходите к следующему шагу. Если вы, наоборот, хотите изменить конфигурацию ролей, то воспользуйтесь возможностью Visual Studio по конфигурации ролей либо или отредактируйте вручную файлы HadoopAzure\ServiceDefinition.csdef и HadoopAzure\ServiceConfiguration.cscfg для установки размера и количества ролей.

Размещение вашего кластера в Azure

Создайте новый сервис для размещения Hadoop в Azure. Проект, который у вас есть, сконфигурирован для возможности удаленного доступа к машинам в кластере. Если вы не меняли конфигурацию проекта, то вам необходимо загрузить сертификат AzureHadoop.pfx в корень проекта вашего сервиса. Пароль для сертификата – hadoop. Размещение не будет завершено успешно, если у вас не будет этого сертификата.

Если вы используете Visual Studio 2010, вы можете разместить проект просто нажав правой кнопкой мыши на проекте и выбрав команду Deploy. Если вы не используете VS2010, то просто запустите buildPackage.cmd из корня проекта с помощью консольного инструмента Windows Azure SDK Command Prompt. Вы получите пакет Hadoop.cspkg для размещения в Azure с помощью Azure Management Portal.

Разместите ваш сервис в Azure. Подождите окончания размещения и вы увидите что-то похожее на эту структуру:

image

Использование вашего кластера Hadoop

Теперь, когда все настроено и работает, вы можете перейти на страницу Name Node Summary. URL для этой страницы будет

image

image

Давайте запустим одну из демонстрационных задач, которые поставляются с Hadoop, для того, чтобы убедиться что кластер работает. Согласно текущей конфигурации, вам необходимо произвести логин в Job Tracker для запуска новой задачи. В следующих статьях я расскажу про альтернативы этому шагу (подсказка – Azure Connect).

Вернитесь Azure Management Portal и перейдите с помощью RDP на Job Tracker, выбрав его и нажав Connect на панели управления. Используйте логин hadoop и пароль H1Doop. После того, как вы подключитесь откройте панель командной строки и выполните несколько команд:

image

Теперь вы можете запустить задачу. Я совместил скрипты для Hadoop, так что вам не придется иметь дел с Cygwin при запуске задач. Синтаксис команды такой же как и при выполнении обычных скриптов. Давайте запустим простую команду:

bin\hadoop jar hadoop-mapred-examples-0.21.0.jar pi 20 200


image

Поздравляю, вы только что запустили первую задачу Hadoop на Windows Azure!

Что я могу сделать со своим кластером Hadoop?

Кластер полнофункциональный. Вы можете выполнить любую задачу какую пожелаете. Кроме того, вы можете использовать Azure Management Portal для динамической смены числа Slave-узлов. Hadoop обнаружит новый или удаленный узел или узлы и соответственно переконфигурирует кластер.

Я добавил дополнительный Slave-узел:

image

И мой кластер соответственно изменился:

image

Если вы уже использовали Hadoop на практике, то знаете, что требуется несколько дополнительных шагов для подготовки Name Node, в основном для обеспечения отказоустойчивости. Это отдельная тема, которую я планирую обсудить в следующей статье. Если вы не хотите ждать и хотите сами установить узел для бэкапа и или checkpoint-узел, то вперед, это может быть частью решения. Использование Azure Drive может быть другой частью решения.


В следующей статье «Установка Hadoop» дается краткое описание наиболее распространенных ключевых модулей Hadoop и пошаговая установка Hadoop. Apache Hadoop представляет собой набор программного обеспечения, которое позволяет обрабатывать большие наборы данных и распределенное хранилище в кластере различных типов компьютерной системы. В настоящее время Hadoop остается наиболее широко используемой аналитической платформой для больших данных («Санчита Лобо, автор учебного блога по аналитике», nd).

Hadoop Framework

Платформа Apache Hadoop состоит из следующих ключевых модулей.

  • Apache Hadoop Common.
  • Распределенная файловая система Apache Hadoop (HDFS).
  • Apache Hadoop MapReduce
  • Apache Hadoop YARN (еще один менеджер ресурсов).

Apache Hadoop Common

Общий модуль Apache Hadoop состоит из общих библиотек, которые используются всеми другими модулями, включая управление ключами, универсальные пакеты ввода / вывода, библиотеки для сбора метрик и утилиты для реестра, безопасности и потоковой передачи.

HDFS основана на файловой системе Google и структурирована для работы на недорогом оборудовании. HDFS устойчива к сбоям и предназначена для приложений, имеющих большие наборы данных.

Уменьшение карты

MapReduce - это модель параллельного программирования для обработки данных, и Hadoop может запускать программы MapReduce, написанные на разных языках, таких как Java. MapReduce работает путем разделения обработки на фазу карты и уменьшает фазу.

Apache Hadoop YARN

Apache Hadoop YARN является ключевым компонентом и представляет собой технологию управления ресурсами и планирования заданий в среде распределенной обработки Hadoop.

В этой статье мы обсудим установку и настройку Hadoop 2.7.4 на кластере с одним узлом и протестируем конфигурацию, запустив программу MapReduce под названием wordcount для подсчета количества слов в файле. Далее мы рассмотрим несколько важных команд файловой системы Hadoop.

Шаги по установке Hadoop

Ниже приводится краткое изложение задач, связанных с настройкой Apache Hadoop.

Задача 1. Первая задача установки Hadoop включала настройку шаблона виртуальной машины, который был настроен с помощью Cent OS7. Пакеты, такие как Java SDK 1.8 и Runtime Systems, необходимые для запуска Hadoop, были загружены, а переменная среды Java для Hadoop была настроена путем редактирования bash_rc.

Задача 2: Пакет Hadoop Release 2.7.4 был загружен с веб-сайта apache и извлечен в папку opt. Который затем был переименован в Hadoop для легкого доступа.

Задача 3: После того, как пакеты Hadoop были извлечены, следующий шаг включал в себя настройку переменной среды для пользователя Hadoop с последующей настройкой XML-файлов узла Hadoop. На этом шаге NameNode был настроен в core-site.xml, а DataNode - в hdfs-site.xml. Диспетчер ресурсов и диспетчер узлов были настроены в yarn-site.xml.

Задача 5: Следующие несколько шагов были использованы для проверки и тестирования Hadoop. Для этого мы создали временный тестовый файл во входном каталоге для программы WordCount. Программа Map-Reduce Hadoop-MapReduce-examples2.7.4.jar использовалась для подсчета количества слов в файле. Результаты были оценены на локальном хосте и проанализированы журналы поданной заявки. Все представленные приложения MapReduce можно просмотреть в онлайн-интерфейсе, номер порта по умолчанию - 8088.

Задача 6: В заключительной задаче мы представим некоторые основные команды файловой системы Hadoop и проверим их использование. Мы увидим, как можно создать каталог в файловой системе Hadoop, чтобы перечислить содержимое каталога, его размер в байтах. Далее мы увидим, как удалить конкретный каталог и файл.

Результаты в установке Hadoop

Ниже показаны результаты каждой из вышеуказанных задач:

Результат задания 1

Новая виртуальная машина с образом cenOS7 была настроена для запуска Apache Hadoop. На рисунке 1 показано, как образ CenOS 7 был настроен на виртуальной машине. На рисунке 1.2 показана конфигурация переменной среды JAVA в .bash_rc.


Рисунок 1: Конфигурация виртуальной машины


Рисунок 1.2: Конфигурация переменной среды Java

Результат Задачи 2

На рисунке 2 показана задача, выполняемая для извлечения пакета Hadoop 2.7.4 в папку opt.


Рисунок 2: Извлечение пакета Hadoop 2.7.4

Результат Задачи 3

На рисунке 3 показана конфигурация переменной среды для пользователя Hadoop, на рисунках с 3.1 по 3.4 показана конфигурация для файлов XML, необходимая для конфигурации Hadoop.


Рисунок 3: Настройка переменной среды для пользователя Hadoop


Рисунок 3.1: Конфигурация core-site.xml


Рисунок 3.2: Конфигурация hdfs-site.xml


Рисунок 3.3: Конфигурация файла mapred-site.xml


Рисунок 3.4: Конфигурация файла yarn-site.xml

Результат задания 4

На рисунке 4 показано использование команды jps для проверки работы соответствующих демонов в фоновом режиме, а на следующем рисунке показан интерактивный пользовательский интерфейс Hadoop.


Рисунок 4: команда jps для проверки запущенных демонов.


Результат Задачи 5

На рисунке 5 показан результат для программы MapReduce под названием wordcount, который подсчитывает количество слов в файле. На следующих двух рисунках показан онлайн-интерфейс менеджера ресурсов YARN для представленной задачи.

Рисунок 5: Результаты программы MapReduce


Рисунок 5.1: Поданное приложение Map-Reduce.


Рисунок 5.2: Журналы для отправленного приложения MapReduce.


Результат задания 6

На рисунке 6 показано, как создать каталог в файловой системе Hadoop и выполнить распечатку каталога hdfs.


Рисунок 6: Создание каталога в файловой системе Hadoop

На рисунке 6.1 показано, как поместить файл в распределенную файловую систему Hadoop, а на рисунке 6.2 показан созданный файл в каталоге dirB.


Рисунок 6.1: Создание файла в HDFS.


Рисунок 6.2: Новый файл создан.


Следующие несколько рисунков показывают, как составить список содержимого отдельных каталогов:

Рисунок 6.3: Содержание dirA


Рисунок 6.4: Содержание dirB

На следующем рисунке показано, как можно отобразить размер файла и каталога:


Рисунок 6.5: Отображение файла и размера каталога.

Удаление каталога или файла может быть легко выполнено командой -rm.


Рисунок 6.6: Удалить файл.

Вывод

Большие данные сыграли очень важную роль в формировании современного мирового рынка. Среда Hadoop облегчает жизнь аналитику данных при работе с большими наборами данных. Конфигурация Apache Hadoop была довольно простой, а интерактивный пользовательский интерфейс предоставил пользователю множество возможностей для настройки и управления приложением. Hadoop широко используется в организациях для хранения данных, анализа машинного обучения и резервного копирования данных. Управление большим объемом данных было очень удобно из-за распределенной среды Hadoop и MapReduce. Разработка Hadoop была довольно удивительной по сравнению с реляционными базами данных, поскольку в них отсутствуют параметры настройки и производительности. Apache Hadoop - это удобное и недорогое решение для эффективного управления и хранения больших данных. HDFS также помогает в хранении данных.

Рекомендуемые статьи

Это руководство по установке Hadoop. Здесь мы обсуждаем введение в Instal Hadoop, пошаговую установку Hadoop вместе с результатами установки Hadoop. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

Читайте также: