Как установить Apache Hadoop на Ubuntu

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.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x