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.