Apache Hadoop произвел революцию в работе с большими данными, предложив надежную основу для распределенного хранения и обработки больших массивов данных. Независимо от того, являетесь ли вы специалистом по изучению данных, инженером-программистом или ИТ-специалистом, понимание того, как установить и настроить Hadoop, является необходимым навыком в современном мире, основанном на данных. Это руководство проведет вас через процесс установки Apache Hadoop на Ubuntu 24.04, предоставив подробные инструкции, советы по устранению неполадок и лучшие практики для обеспечения беспроблемной установки.
Предварительные условия
Прежде чем мы приступим к процессу установки, убедитесь, что ваша система соответствует следующим требованиям:
- Установлена и обновлена Ubuntu 24.04 LTS
- Root или sudo доступ к системе
- Минимум 4 ГБ оперативной памяти (рекомендуется 8 ГБ или больше)
- Не менее 10 ГБ свободного дискового пространства
- Стабильное интернет-соединение
Обновление и модернизация системы Ubuntu
Начните с обновления системы Ubuntu, чтобы убедиться, что у вас есть последние пакеты и обновления безопасности. Откройте терминал и выполните следующие команды:
sudo apt update
sudo apt upgrade -y
Этот процесс может занять несколько минут, в зависимости от скорости вашего интернета и количества доступных обновлений.
Установите Java Development Kit (JDK)
Для работы Hadoop требуется Java, поэтому нам необходимо установить Java Development Kit. Хотя Hadoop совместим с различными версиями Java, мы будем использовать OpenJDK 11 для этой установки.
sudo apt install openjdk-11-jdk -y
После завершения установки проверьте версию Java:
java -version
Вы должны увидеть вывод, похожий на этот:
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.24.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.24.04, mixed mode, sharing)
Затем установите переменную окружения JAVA_HOME:
echo "export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
Убедитесь, что JAVA_HOME установлен правильно:
echo $JAVA_HOME
Создание пользователя Hadoop
Хорошей практикой является создание специального пользователя для операций с Hadoop. Это повышает безопасность и упрощает управление.
sudo adduser hadoop
sudo usermod -aG sudo hadoop
Переключитесь на нового пользователя hadoop:
su - hadoop
Настройка SSH
Для управления узлами Hadoop требуется доступ по SSH. Мы настроим SSH без пароля для пользователя hadoop:
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
Протестируйте настройку SSH:
ssh localhost
В случае успеха вы войдете в систему, не запрашивая пароль. Введите ‘exit’, чтобы вернуться в исходную сессию.
Загрузка и установка Hadoop
Теперь давайте загрузим и установим Hadoop:
wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.4.1/hadoop-3.4.1-src.tar.gz
tar -xzvf hadoop-3.4.1-src.tar.gz
sudo mv hadoop-3.4.1 /usr/local/hadoop
sudo chown -R hadoop:hadoop /usr/local/hadoop
Настройка переменных окружения Hadoop
Добавьте переменные окружения Hadoop в файл .bashrc:
echo "export HADOOP_HOME=/usr/local/hadoop" >> ~/.bashrc
echo "export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin" >> ~/.bashrc
echo "export HADOOP_MAPRED_HOME=$HADOOP_HOME" >> ~/.bashrc
echo "export HADOOP_COMMON_HOME=$HADOOP_HOME" >> ~/.bashrc
echo "export HADOOP_HDFS_HOME=$HADOOP_HOME" >> ~/.bashrc
echo "export YARN_HOME=$HADOOP_HOME" >> ~/.bashrc
source ~/.bashrc
Настройка файлов Hadoop
Теперь мы настроим основные файлы Hadoop. Откройте каждый файл в текстовом редакторе и добавьте указанное содержимое:
core-site.xml
sudo nano $HADOOP_HOME/etc/hadoop/core-site.xml
Добавьте следующую конфигурацию:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
sudo nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
Добавьте следующую конфигурацию:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
mapred-site.xml
sudo nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
Добавьте следующую конфигурацию:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
yarn-site.xml
sudo nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
Добавьте следующую конфигурацию:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
hadoop-env.sh
Обновите путь к JAVA_HOME в файле hadoop-env.sh:
sudo nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
Добавьте или измените строку JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Форматирование файловой системы Hadoop
Перед запуском сервисов Hadoop нам необходимо отформатировать файловую систему Hadoop:
hdfs namenode -format
Вы должны увидеть сообщение об успешном форматировании namenode.
Запуск служб Hadoop
Теперь давайте запустим службы Hadoop:
start-dfs.sh
start-yarn.sh
Эти команды запустят службы NameNode, DataNode, ResourceManager и NodeManager.
Проверка установки Hadoop
Чтобы убедиться, что Hadoop работает правильно, выполните следующую команду:
jps
Вы должны увидеть вывод, похожий на этот:
12345 NameNode
23456 DataNode
34567 ResourceManager
45678 NodeManager
56789 SecondaryNameNode
67890 Jps
Кроме того, вы можете получить доступ к веб-интерфейсам Hadoop:
- NameNode: http://localhost:9870
- ResourceManager: http://localhost:8088
Устранение общих проблем
При установке Hadoop вы можете столкнуться с некоторыми типичными проблемами. Вот несколько советов по устранению неполадок:
Конфликты версий Java
Если вы видите ошибки, связанные с несовместимостью версий Java, убедитесь, что вы используете совместимую версию Java и что JAVA_HOME установлен правильно.
Проблемы с конфигурацией SSH
Если службы Hadoop не запускаются из-за проблем с SSH, перепроверьте конфигурацию SSH и убедитесь, что SSH без пароля работает правильно.
Конфликты портов
Если вы видите ошибки, связанные с использованием портов, убедитесь, что никакие другие службы не используют порты Hadoop по умолчанию. Возможно, вам потребуется изменить настройки портов в конфигурационных файлах.
Проблемы с правами доступа
Убедитесь, что пользователь hadoop имеет необходимые разрешения на доступ ко всем каталогам и файлам Hadoop.
Поздравляем! Вы успешно установили Apache Hadoop. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Apache Hadoop.