Как установить Hadoop на UbuntuШаги по загрузке и установке
⚡ Умное резюме
Установка Apache Hadoop на Ubuntu Процесс состоит из двух этапов: распаковка релиза под выделенной системной учетной записью с использованием SSH без пароля, затем редактирование четырех XML-файлов перед форматированием HDFS и запуском одноузлового кластера.
В этом руководстве мы шаг за шагом расскажем вам, как установить Apache Hadoop на Linux-систему.UbuntuЭто двухэтапный процесс: сначала нужно загрузить и установить релиз, а затем настроить его.
Для этого необходимы два условия:
- Вы должны иметь Ubuntu установлен и бег.
- Вы должны иметь Java установлен.
Примечания к версии Hadoop 3.x для данной настройки
Скриншоты в этом пошаговом руководстве были сделаны на Hadoop 2.2.0. Последовательность шагов не изменилась в текущих версиях, но некоторые имена и значения по умолчанию были изменены. Перед тем как копировать какую-либо команду дословно, проверьте таблицу ниже.
| Настройка или шаг | В этом руководстве (Hadoop 2.x) | Текущая версия Hadoop 3.x |
|---|---|---|
| Архив релизов | hadoop-2.2.0.tar.gz |
hadoop-3.5.0.tar.gz, первый стабильный релиз версии 3.5, выпущенный 2 апреля 2026 года. |
| Свойство файловой системы по умолчанию | fs.default.name в прозе, fs.defaultFS в XML |
fs.defaultFS только; fs.default.name устарела |
| свойство MapReduce | mapreduce.jobtracker.address |
mapreduce.framework.name установлен в yarn; работаTracПараметр ker перестает существовать после того, как YARN запланирует выполнение задачи. |
| сопоставленный-site.xml | Скопировано из mapred-site.xml.template |
Корабли в etc/hadoop Уже сейчас этап копирования не нужен, поэтому он не требуется. |
| Портирование веб-интерфейса NameNode | 50070 | 9870 |
| Java | Java 6 или Java 7 | Java 8 или Java 11 |
Все остальное в этом руководстве работает аналогично в Hadoop 3: выделенная учетная запись, SSH-ключ, четыре файла конфигурации, а также скрипты запуска и остановки.
Часть 1) Загрузите и установите Hadoop
Шаг 1) Добавьте системного пользователя Hadoop.
Добавьте системного пользователя Hadoop, используя приведенную ниже команду.
sudo addgroup hadoop_
sudo adduser --ingroup hadoop_ hduser_
Введите свой пароль, имя и другие данные.
ПРИМЕЧАНИЕ: В процессе настройки и установки возможна следующая ошибка.
«hduser отсутствует в файле sudoers. Об этом инциденте будет сообщено».
Эту ошибку можно устранить, войдя в систему под учетной записью root.
Выполнить команду
sudo adduser hduser_ sudo
Re-login as hduser_
Шаг 2) Настройте SSH
Для управления узлами в кластере Hadoop требуется доступ по SSH.
Сначала смените пользователя, введите следующую команду
su - hduser_
Эта команда создаст новый ключ.
ssh-keygen -t rsa -P ""
Включите SSH-доступ к локальному компьютеру, используя этот ключ.
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
Теперь проверьте настройку SSH, подключившись к localhost от имени пользователя 'hduser_'.
ssh localhost
Примечание: Если в ответ на команду 'ssh localhost' вы видите ошибку, указанную ниже, то, возможно, SSH недоступен в этой системе.
Чтобы решить эту проблему –
Очистите SSH с помощью,
sudo apt-get purge openssh-server
Рекомендуется выполнить очистку системы перед началом установки.
Установите SSH с помощью команды:
sudo apt-get install openssh-server
Шаг 3) Загрузите Hadoop
Следующий шаг — загрузка Hadoop с сайта... Страница релизов Apache Hadoop.
Выберите стабильную
Выберите файл tar.gz (а не файл с расширением src).
После завершения загрузки перейдите в каталог, содержащий tar-архив.
Enter,
sudo tar xzf hadoop-2.2.0.tar.gz
Теперь переименуйте hadoop-2.2.0 в hadoop.
sudo mv hadoop-2.2.0 hadoop
Наконец, передайте папку новому пользователю.
sudo chown -R hduser_:hadoop_ hadoop
Замените версию, которую вы фактически скачали, на ту, которую вы скачали. hadoop-2.2.0 в трех приведенных выше командах.
Часть 2) Настройка Hadoop
Шаг 1) Измените файл ~/.bashrc
Добавьте следующие строки в конец файла ~/.bashrc.
#Set HADOOP_HOME export HADOOP_HOME=<Installation Directory of Hadoop> #Set JAVA_HOME export JAVA_HOME=<Installation Directory of Java> # Add bin/ directory of Hadoop to PATH export PATH=$PATH:$HADOOP_HOME/bin
Теперь выполните команду `source` для получения конфигурации среды, используя приведенную ниже команду.
. ~/.bashrc
Шаг 2) Настройки, связанные с HDFS
Установите переменную JAVA_HOME в файле $HADOOP_HOME/etc/hadoop/hadoop-env.sh, как показано ниже.
С
В файле $HADOOP_HOME/etc/hadoop/core-site.xml необходимо установить два параметра:
1. 'hadoop.tmp.dir' – Используется для указания каталога, который Hadoop будет использовать для хранения файлов данных.
2. 'fs.defaultFS' – Этот параметр задает файловую систему по умолчанию. Более старое название этого свойства, 'fs.default.name', устарело.
Чтобы установить эти параметры, откройте core-site.xml.
sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml
Скопируйте строки ниже между теги.
<property> <name>hadoop.tmp.dir</name> <value>/app/hadoop/tmp</value> <description>Parent directory for other temporary directories.</description> </property> <property> <name>fs.defaultFS </name> <value>hdfs://localhost:54310</value> <description>The name of the default file system. </description> </property>
Перейдите в каталог $HADOOP_HOME/etc/hadoop.
Теперь создайте каталог, указанный в файле core-site.xml.
sudo mkdir -p <Path of Directory used in above setting>
Предоставьте права доступа к каталогу.
sudo chown -R hduser_:Hadoop_ <Path of Directory created in above step>
sudo chmod 750 <Path of Directory created in above step>
Шаг 3) Настройка MapReduce
Прежде чем приступить к настройке, давайте зададим путь к каталогу HADOOP_HOME.
sudo gedit /etc/profile.d/hadoop.sh
и введите
export HADOOP_HOME=/home/guru99/Downloads/Hadoop
Далее введите
sudo chmod +x /etc/profile.d/hadoop.sh
Выйдите из терминала и перезапустите его снова.
Введите команду echo $HADOOP_HOME, чтобы проверить путь.
Теперь скопируйте файлы
sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
Откройте файл mapred-site.xml
sudo gedit $HADOOP_HOME/etc/hadoop/mapred-site.xml
Добавьте указанные ниже настройки между и теги.
<property> <name>mapreduce.jobtracker.address</name> <value>localhost:54311</value> <description>MapReduce job tracker runs at this host and port. </description> </property>
Откройте файл $HADOOP_HOME/etc/hadoop/hdfs-site.xml, как показано ниже:
sudo gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml
Добавьте указанные ниже настройки между и теги.
<property> <name>dfs.replication</name> <value>1</value> <description>Default block replication.</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hduser_/hdfs</value> </property>
Создайте каталог, указанный в приведенных выше настройках.
sudo mkdir -p <Path of Directory used in above setting>
sudo mkdir -p /home/hduser_/hdfs
Затем предоставьте право собственности и необходимые разрешения на его использование.
sudo chown -R hduser_:hadoop_ <Path of Directory created in above step>
sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs
sudo chmod 750 <Path of Directory created in above step>
sudo chmod 750 /home/hduser_/hdfs
Шаг 4) Форматирование HDFS
Перед первым запуском Hadoop отформатируйте HDFS, используя приведенную ниже команду.
$HADOOP_HOME/bin/hdfs namenode -format
Шаг 5) Запустите одноузловой кластер Hadoop.
Запустите одноузловой кластер Hadoop, используя приведенную ниже команду.
$HADOOP_HOME/sbin/start-dfs.sh
Результат выполнения указанной выше команды показан ниже.
Затем запустите демоны YARN.
$HADOOP_HOME/sbin/start-yarn.sh
С помощью инструмента 'jps' проверьте, запущены ли все процессы, связанные с Hadoop.
Если Hadoop успешно запущен, в выводе команды jps должны быть указаны NameNode, NodeManager, ResourceManager, SecondaryNameNode и DataNode.
Шаг 6) Остановкаping Hadoop
Выключите кластер в обратном порядке.
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
Как проверить, запущен ли Hadoop, и исправить распространенные ошибки.
Вывод команды jps подтверждает запуск процессов, но не то, что кластер пригоден для использования. Четыре дополнительные проверки позволяют решить этот вопрос.
- Откройте веб-интерфейс NameNode по адресу:
http://localhost:9870(порт 50070 в Hadoop 2.x) и подтвердите, что в сводке отображается один работающий узел. - Откройте интерфейс ResourceManager по адресу:
http://localhost:8088чтобы подтвердить, что YARN принял NodeManager. - Run
hdfs dfsadmin -reportдля обеспечения достаточной емкости, наличия активных DataNodes и любых недореплицированных блоков. - Напишите что-нибудь:
hdfs dfs -mkdir /testпоследующейhdfs dfs -ls /доказывает, что пространство имен принимает изменения.
Большинство неудачных попыток с первого раза попадают в одну из пяти категорий.
| Симптом | Вызывать | фиксированный |
|---|---|---|
| Параметр JAVA_HOME не установлен и не найден. | Переменная экспортируется в файле .bashrc, но не в файле hadoop-env.sh. | Также укажите абсолютный путь к JDK в файле hadoop-env.sh. |
| Отказано в доступе (publickey, password) к ssh localhost | Параметр authorized_keys отсутствует или имеет слишком разрешительные значения. | Добавьте файл id_rsa.pub обратно, затем выполните команду chmod 600 для ~/.ssh/authorized_keys. |
| Соединение отклонено на порту 22 | openssh-server не установлен или не запущен | Установите openssh-server и запустите службу ssh. |
| После переформатирования в файле jps отсутствует DataNode. | Cluster Несоответствие идентификаторов между отформатированным NameNode и старым каталогом DataNode. | Очистите папку dfs.datanode.data.dir, затем выполните форматирование еще раз. |
| start-dfs.sh: команда не найдена | В текущей оболочке переменные HADOOP_HOME и PATH никогда не подключались. | Запустите .~/.bashrc или откройте новый терминал. |





























