Как установить Hadoop на Windows 10
Обновлено: 22.11.2024
Сводные инструкции по настройке и запуску Hadoop на компьютерах с Windows 10. Это точно написано из пошагового руководства по установке Hadoop 3.2.1 в Windows 10. Большое спасибо Рэймонду, оригинальному автору. Если на вашем компьютере уже установлен и настроен Hadoop, вы можете перейти в раздел «Выполнение заданий MapReduce».
- Java JDK — используется для запуска Hadoop, поскольку он создан с использованием Java
- 7Zip или WinRAR — разархивируйте бинарный пакет Hadoop; все, что распаковывает tar.gz
- CMD или Powershell — используется для тестирования переменных среды и запуска Hadoop
Шаг 1. Загрузите и распакуйте Hadoop
Загрузите Hadoop с их официального сайта и разархивируйте файл. Мы будем использовать Hadoop 3.2.1. Hadoop является портативным, поэтому вы можете хранить его на внешнем жестком диске. Для документации я извлеку его в C:/Users/Anthony/Documents/cp-master .
Если есть ошибки с правами доступа, запустите программу распаковки от имени администратора и снова разархивируйте.
Шаг 2. Установите собственный двоичный файл ввода-вывода Hadoop
Клонируйте или загрузите репозиторий winutils и скопируйте содержимое hadoop-3.2.1/bin в извлеченное расположение двоичного пакета Hadoop. В нашем примере это будет C:\Users\Anthony\Documents\cp-master\hadoop-3.2.1\bin
Шаг 3. Установите Java JDK
Для запуска Hadoop требуется Java JDK, поэтому, если вы еще не установили его, установите его.
Oracle требует, чтобы вы зарегистрировались и вошли в систему, чтобы загрузить его. Я предлагаю вам найти альтернативный ресурс для его загрузки, например здесь (JDK 8u261). Этот ресурс может существовать не вечно, поэтому поищите в Google «загрузку версии jdk».
Запустите установочный файл, и каталог установки по умолчанию будет C:\Program Files\Java\jdk1.8.0_261 .
После установки откройте CMD или Powershell и убедитесь, что Java установлена:
Шаг 4. Настройка переменных среды
Откройте меню "Пуск", введите "среда" и нажмите клавишу ввода. Должно открыться новое окно со свойствами системы. Нажмите кнопку "Переменные среды" в правом нижнем углу.
переменная среды JAVA_HOME
- На шаге 3 найдите место, где вы установили Java. В этом примере каталог по умолчанию — C:\Program Files\Java\jdk1.8.0_261
- Создайте новую пользовательскую переменную с именем переменной JAVA_HOME и значением C:\Program Files\Java\jdk1.8.0_261
Переменная среды HADOOP_HOME
- Начиная с шага 1, скопируйте каталог, в который вы распаковали двоичные файлы Hadoop. В этом примере каталог C:\Users\Anthony\Documents\cp-master\hadoop-3.2.1
- Создайте новую пользовательскую переменную с именем переменной HADOOP_HOME и значением C:\Users\Anthony\Documents\cp-master\hadoop-3.2.1
Переменная среды PATH
Теперь нам нужно добавить папки bin в переменную среды PATH.
- Нажмите «Путь», затем «Изменить».
- Нажмите "Создать" в правом верхнем углу.
- Добавить C:\Users\Anthony\Documents\cp-master\hadoop-3.2.1\bin
- Добавить C:\Program Files\Java\jdk1.8.0_261\bin
Hadoop жалуется на каталог, если в каталоге JAVA_HOME есть пробелы. В установочном каталоге по умолчанию Program Files есть проблемное место. Чтобы это исправить, откройте файл %HADOOP_HOME%\etc\hadoop\hadoop-env.cmd и измените строку JAVA_HOME на следующую:
После установки этих переменных среды вы снова открываете CMD или Powershell и проверяете, доступна ли команда hadoop:
Шаг 5. Настройка Hadoop
Теперь мы готовы настроить самую важную часть — конфигурации Hadoop, которые включают конфигурации Core, YARN, MapReduce и HDFS.
Каждый из файлов находится в папке %HADOOP_HOME%\etc\hadoop . Полный путь для этого примера: C:\Users\Anthony\Documents\cp-master\hadoop-3.2.1\etc\hadoop
Настроить основной сайт
Отредактируйте файл core-site.xml и замените элемент конфигурации следующим:
Создайте две папки: одну для каталога namenode, а другую для каталога данных. Ниже приведены две созданные папки в этом примере:
- C:\Users\Anthony\Documents\cp-master\hadoop-3.2.1\data\dfs\namespace_logs
- C:\Users\Anthony\Documents\cp-master\hadoop-3.2.1\data\dfs\data
Отредактируйте hdfs-site.xml и замените элемент конфигурации следующим:
Настройка сайта MapReduce и YARN
Отредактируйте файл mapred-site.xml и замените элемент конфигурации следующим:
Отредактируйте файл yarn-site.xml и замените элемент конфигурации следующим:
Шаг 6. Инициализация HDFS и исправление ошибок
Выполните следующую команду, и вы должны обнаружить следующую ошибку:
Чтобы это исправить, вам нужно скачать JAR-файл с исправлением. Перезапишите существующий файл hadoop-hdfs-3.2.1.jar в %HADOOP_HOME%\share\hadoop\hdfs с этим новым JAR-файлом (вы можете сделать резервную копию текущего перед перезаписью, если хотите).
Шаг 7. Запуск демонов HDFS
Выполните следующую команду, чтобы запустить демоны HDFS. Когда вы это сделаете, должны открыться два новых окна: одно для узла данных, а другое для узла имен:
Шаг 8. Запуск демонов YARN
Вы, как обычный пользователь, можете столкнуться с проблемами с разрешениями, поэтому откройте командную строку с повышенными разрешениями. Если у вас есть менеджер пакетов пряжи, вы НЕ сможете запускать демоны YARN, так как оба используют команду пряжи. Чтобы это исправить, необходимо удалить менеджер пакетов пряжи.
Выполните следующую команду (с повышенными правами), чтобы запустить демоны YARN. При этом должно открыться два новых окна: одно для диспетчера ресурсов, а другое для диспетчера узлов:
Шаг 9. Полезные веб-порталы
Демоны также размещают веб-сайты, предоставляющие полезную информацию о кластере
Информация о пользовательском интерфейсе HDFS Namenode
Информация о пользовательском интерфейсе HDFS Datanode
Интерфейс менеджера ресурсов YARN
Шаг 10. Отключение демонов YARN и HDFS
Вы можете остановить демонов, выполнив следующие команды:
Выполнение заданий MapReduce
После настройки среды и запуска демонов HDFS и YARN мы можем приступить к выполнению заданий MapReduce на нашем локальном компьютере. Нам нужно скомпилировать наш код, создать файл JAR, переместить наши входные данные и запустить задание MapReduce в Hadoop.
Шаг 1. Настройка дополнительных переменных среды
В качестве предисловия рекомендуется настроить некоторые дополнительные переменные среды, чтобы ускорить и упростить выполнение заданий из интерфейса командной строки. Вы можете назвать эти переменные среды как угодно, но мы назовем их HADOOP_CP и HDFS_LOC, чтобы они не конфликтовали с другими переменными среды.
Откройте меню "Пуск", введите "среда" и нажмите клавишу ввода. Должно открыться новое окно со свойствами системы. Нажмите кнопку "Переменные среды" в правом нижнем углу.
Переменная среды HADOOP_CP
Это используется для компиляции файлов Java. Обратные кавычки (например, `some command here`) не работают в Windows, поэтому нам нужно создать новую переменную среды с результатами. Если вам нужно добавить дополнительные пакеты, обязательно обновите переменную среды HADOOP_CP.
- Откройте интерфейс командной строки и введите путь к классам hadoop . Это создаст все местоположения для библиотек Hadoop, необходимых для компиляции кода, поэтому скопируйте все это
- Создайте новую пользовательскую переменную с именем переменной HADOOP_CP и значением, полученным в результате выполнения команды hadoop classpath
Переменная среды HDFS_LOC
Это используется для ссылки на HDFS без необходимости постоянно вводить ссылку
- Создайте новую пользовательскую переменную с именем HDFS_LOC и значением hdfs://localhost:19000
После создания этих двух дополнительных переменных среды вы можете проверить это, вызвав в CLI следующее:
Шаг 2. Компиляция нашего проекта
Выполните следующие команды в интерфейсе командной строки с соответствующими файлами .java.
Шаг 3. Создание файла JAR
Выполните следующие команды, чтобы создать файл JAR с скомпилированными классами из шага 2.
Шаг 4. Скопируйте наши входные данные в HDFS
Убедитесь, что запущены демоны HDFS и YARN. Теперь мы можем скопировать наши входные данные в HDFS с помощью команды copyFromLocal и проверить содержимое с помощью команды ls:
Шаг 5. Запускаем задание MapReduce
Запустите следующие команды в папке dist, когда мы изначально скомпилировали наш код:
Мы можем проверить содержимое нашего вывода с помощью команды cat, как и в оболочке:
Шаг 6. Скопируйте выходные данные на наш локальный компьютер
Как только мы будем удовлетворены результатами, мы можем скопировать содержимое на наш локальный компьютер с помощью команды copyToLocal:
В этом документе описывается установка и настройка установки Hadoop с одним узлом, чтобы можно было быстро выполнять простые операции с помощью Hadoop MapReduce и распределенной файловой системы Hadoop (HDFS).
Предпосылки
Поддерживаемые платформы
GNU/Linux поддерживается как платформа для разработки и производства. Hadoop был продемонстрирован на кластерах GNU/Linux с 2000 узлов.
Windows также является поддерживаемой платформой, но следующие шаги предназначены только для Linux. Чтобы настроить Hadoop в Windows, см. вики-страницу.
Необходимое программное обеспечение
Необходимое программное обеспечение для Linux включает:
Должна быть установлена Java™. Рекомендуемые версии Java описаны в HadoopJavaVersions.
Должен быть установлен ssh и запущен sshd для использования сценариев Hadoop, которые управляют удаленными демонами Hadoop, если будут использоваться необязательные сценарии запуска и остановки. Кроме того, рекомендуется также установить pdsh для лучшего управления ресурсами ssh.
Установка программного обеспечения
Если в вашем кластере нет необходимого программного обеспечения, вам необходимо его установить.
Например, в Ubuntu Linux:
Скачать
Чтобы получить дистрибутив Hadoop, загрузите последнюю стабильную версию с одного из зеркал загрузки Apache.
Подготовка к запуску кластера Hadoop
Распакуйте загруженный дистрибутив Hadoop. В дистрибутиве отредактируйте файл etc/hadoop/hadoop-env.sh, чтобы определить некоторые параметры следующим образом:
Попробуйте следующую команду:
Отобразится документация по использованию сценария hadoop.
Теперь вы готовы запустить свой кластер Hadoop в одном из трех поддерживаемых режимов:
Автономная операция
По умолчанию Hadoop настроен на работу в нераспределенном режиме как единый процесс Java. Это полезно для отладки.
Следующий пример копирует распакованный каталог conf для использования в качестве входных данных, а затем находит и отображает каждое совпадение заданного регулярного выражения. Вывод записывается в указанный выходной каталог.
Псевдораспределенная операция
Hadoop также можно запускать на одном узле в псевдораспределенном режиме, когда каждый демон Hadoop запускается в отдельном процессе Java.
Hadoop можно установить двумя способами. Первый — в кластере с одним узлом, а второй — в кластере с несколькими узлами. Давайте посмотрим объяснение обоих из них. Но в этом разделе будет рассмотрена часть установки на кластере с одним узлом. Давайте обсудим один за другим.
-
Кластер с одним узлом — в нем работает один узел данных, в котором настроены все узлы NameNode, DataNode, Resource Manager и NodeManager на одном компьютере. Это используется для изучения и тестирования целей.
Этапы установки в кластере с одним узлом
Для установки кластера Hadoop с одним узлом в Windows выполните следующие действия.
Необходимое условие:
- JAVA-Java JDK (установлен)
- Пакет HADOOP-Hadoop (загружен)
Шаг 1. Убедитесь, что Java установлена
Шаг 2. Извлеките Hadoop из папки C:\Hadoop
Шаг 3. Настройка переменной HADOOP_HOME
Использовать параметр переменной среды Windows для параметра Hadoop Path.
Шаг 4. Установите переменную JAVA_HOME
Использовать параметр переменной среды Windows для параметра Hadoop Path.
Шаг 5. Задайте путь к каталогу bin для Hadoop и Java
Шаг 6. Настройка Hadoop:
Для конфигурации Hadoop нам нужно изменить шесть файлов, перечисленных ниже-
Проверьте, установлена ли в вашей системе Java 1.8.0 или нет, используйте для проверки «Javac -version».
Если в вашей системе не установлена Java, сначала установите Java в папку «C:\JAVA»
Извлеките файл Hadoop 2.8.0.tar.gz или Hadoop-2.8.0.zip и поместите его в папку «C:\Hadoop-2.8.0».
Установите путь к переменной среды HADOOP_HOME в Windows 10 (см. шаги 1, 2, 3 и 4 ниже).
Установите путь к переменной среды JAVA_HOME в Windows 10 (см. шаги 1, 2, 3 и 4 ниже).
Затем мы устанавливаем путь к каталогу bin Hadoop и путь к каталогу bin JAVA.
Конфигурация
- Отредактируйте файл C:/Hadoop-2.8.0/etc/hadoop/core-site.xml, вставьте ниже абзаца xml и сохраните этот файл.
- Переименуйте «mapred-site.xml.template» в «mapred-site.xml» и отредактируйте этот файл C:/Hadoop-2.8.0/etc/hadoop/mapred-site.xml, вставьте ниже абзаца xml и сохраните этот файл.
- Создайте папку «данные» в папке «C:\Hadoop-2.8.0»
- Создайте папку «datanode» в папке «C:\Hadoop-2.8.0\data»
- Создайте папку «namenode» в папке «C:\Hadoop-2.8.0\data»
- Отредактируйте файл C:\Hadoop-2.8.0/etc/hadoop/hdfs-site.xml, вставьте ниже абзаца xml и сохраните этот файл. ол>р>
- Отредактируйте файл C:/Hadoop-2.8.0/etc/hadoop/yarn-site.xml, вставьте ниже абзаца xml и сохраните этот файл.
- Редактируйте файл C:/Hadoop-2.8.0/etc/hadoop/hadoop-env.cmd, закрыв командную строку «JAVA_HOME=%JAVA_HOME%» вместо установки «JAVA_HOME=C:\Java» (на C: \java это путь к файлу jdk.18.0)
- Загрузить файл Hadoop Configuration.zip
- Удалите папку с файлами в папке C:\Hadoop-2.8.0\bin, заменив папку с файлами на только что загруженном файле (из Hadoop Configuration.zip).
- Откройте cmd и введите команду «hdfs namenode –format». Вы увидите ол>р>
Конфигурация Hadoop
Читайте также: