Привет всем, я Дугу Фэн, автор Big Data Flow.
Эта статья написана на основе последней версии Hadoop 3.3.6 и поможет вам полностью понять использование Apache Hadoop в автономной версии. В этой статье особое внимание уделяется практике. Практика является важной частью изучения больших данных, и вы также можете получить более глубокое понимание технологии на практике. Поэтому некоторые теоретические знания рекомендуют вам прочитать больше соответствующих книг (все в информационном пакете).
Авторские права на этот документ принадлежат Big Data Flow, не используйте его в коммерческих целях. Чтобы получить полный набор учебных материалов по большим данным, управлению данными и искусственному интеллекту, обратите внимание на Big Data Flow.
(Расположение пакета данных, используемого в этой статье: База знаний Big Data Flow VIP 》Технологии больших данных 》Автономный установочный пакет Apache Hadoop 3.3.6)
Apache Hadoop — это платформа с открытым исходным кодом для хранения и обработки крупномасштабных наборов данных. Он написан на Java и поддерживает распределенную обработку. Ключевые особенности Hadoop включают в себя:
5.экосистема:Hadoop Экосистема включает в себя различные инструменты и расширения, такие как Hive、HBase、Spark и т. д.) для обработки, анализа и управления данными.
Hadoop широко используется в анализе больших данных, интеллектуальном анализе данных, обработке журналов и других областях и особенно эффективен в сценариях, где необходимо обрабатывать данные на уровне PB.
Таким образом, мы можем понять, что Hadoop — это экосистема. В основе Hadoop, последующие компоненты, такие как Spark и Flink, появились один за другим, что позволило непрерывно развивать технологии больших данных.
С точки зрения программного обеспечения Hadoop сам по себе является программным обеспечением Apache с открытым исходным кодом.
Apache Hadoop в основном состоит из следующих основных компонентов, каждый из которых имеет свои уникальные функции:
1. Hadoop Common:этотда Hadoop Коллекция базовых библиотек, которая предоставляет Hadoop Общие инструменты и интерфейсы, необходимые модулям. Он включает в себя файловую систему, абстракции уровня операционной системы и необходимые Java файл библиотеки.
Вместе эти компоненты делают Hadoop мощным инструментом для хранения, обработки и анализа крупномасштабных наборов данных.
Common — базовая библиотека. Из-за проблем с производительностью распределенные вычисления MapReduce были заменены более эффективными вычислительными механизмами, такими как Spark и Flink.
нодаHDFS,YARNвсе ещеда Ядроиздва компонента,Должен усердно учиться,Я также опубликую отдельные статьи, чтобы изучить эти два компонента.
Конечно, вот обзор истории Apache Hadoop в формате Markdown:
Hadoop — это не только Apache Hadoop. Многие компании имеют свои собственные дистрибутивы. Различные дистрибутивы оптимизированы для разных целей и сценариев. Пользователи могут выбрать наиболее подходящую версию в соответствии со своими потребностями. Эти дистрибутивы могут со временем меняться по мере появления новых версий или прекращения поддержки старых версий.
Помимо Apache Hadoop, существуют также Cloudera CDH (Cloudera Distribution Include Apache Hadoop) и Hortonworks Data Platform (HDP), то есть CDH и Ambari. В этой статье мы приведем демонстрацию. Автономная версия Apache Hadoop также является наиболее используемой версией.
Далее мы устанавливаем автономную версию Hadoop3.3.6.
Apache Hadoop Официальный адрес сайта: https://hadoop.apache.org/
Здесь мы видим, что последней версией является 3.3.6, которая также является версией, выпущенной в 2023 году. Она была значительно оптимизирована во всех аспектах. Эта статья также основана на этой версии для демонстрации.
Мы используем версию Hadoop 3.3.6, которую можно скачать с официального сайта:
https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/
Это 696 МБ.
Независимо от подготовки сервера и среды виртуальной машины, вы можете обратиться к моей предыдущей статье, чтобы настроить виртуальную машину локально, или купить уже готовую, не буду здесь вдаваться в подробности.
Используемая нами версия CentOS — 7.8. Вы можете проверить версию, выполнив следующую команду.
cat /etc/redhat-release
Шаги по установке для CentOS7 в основном такие же, и вы можете обратиться к этому документу.
На сервере необходимо настроить вход без пароля, иначе потом будут проблемы.
ssh-keygen -t rsa -P ""
Просто нажмите Enter и скопируйте ключ
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
Можете ли вы это проверить?
ssh bigdataflowing
Обычно вы входите в систему напрямую.
Сначала удалите Java, поставляемую с системой.
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
Загрузите установочный пакет на сервер. Инсталляционный пакет можно найти по адресу. Oracle Официальный сайт скачать:https://www.oracle.com/java/technologies/downloads/
Вы также можете использовать те, которые есть в моем информационном пакете.
jdk-8u221-linux-x64.tar.gz
Создайте папку.
mkdir /opt/jdk/
Зайдите в папку и загрузите файл.
cd /opt/jdk/
Разархивируйте установочный пакет tar -zxvf jdk-8u221-linux-x64.tar.gz
Об ошибках не сообщается, что указывает на то, что распаковка прошла успешно.
Затем мы просто настраиваем JDK в переменных среды.
vi /etc/profile
Добавив эти два предложения внизу, мы на самом деле распаковали jdk.
export JAVA_HOME=/opt/jdk/jdk1.8.0_221
export PATH=PATH:JAVA_HOME/bin
Наконец, пусть переменные среды вступят в силу
source /etc/profile
Проверять проверку версии Java,java -version
успех!
Таким образом, на нашей машине доступна среда Java.
Благодаря среде Java проблема зависимостей Hadoop решена, и ее можно установить напрямую.
подготовиться заранее hadoop Установите пакет и загрузите его на /opt/hadoop3.3.6
в каталоге
Разархивировать,tar -zxvf hadoop-3.3.6.tar.gz
Если об ошибке не сообщается, это успех.
Или добавьте переменные среды
vi /etc/profile
Добавьте эти три предложения внизу, местоположение Hadoop
export HADOOP_HOME=/opt/hadoop3.3.6/hadoop-3.3.
6
export PATH=PATH:HADOOP_HOME/bin
export PATH=PATH:HADOOP_HOME/sbin
Наконец, пусть переменные среды вступят в силу
source /etc/profile
Проверять проверку версии Java,hadoop-version
успех!
использовать hadoop version
Команда для проверки успешной установки
Хотя установка прошла успешно,Но мы хотим использовать псевдокластер из одной машины.,Еще нужно сделать некоторую конфигурацию.
В каталоге Hadoop есть следующие папки
Каталог bin: сценарий основного сервиса Hadoop
Каталог и т. д.: каталог файла конфигурации Hadoop.
Каталог lib: хранит локальную библиотеку Hadoop.
Каталог sbin: хранит сценарии для запуска или остановки служб, связанных с Hadoop.
Введите первый etc Папка конфигурации cd ``etc/hadoop
В следующей конфигурации нам нужно изменить только основные.
Сначала измените hadoop-env.sh
Воля java и hadoop Корневой путь
export JAVA_HOME=/opt/jdk/jdk1.8.0_221
export HADOOP_HOME=/opt/hadoop3.3.6/hadoop-3.3.6
Также добавьте root-права
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
Измените core-site.xml
В тег конфигурации добавьте следующее содержимое:
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdataflowing:9090</value>
</property>
<!-- обозначение hadoop данныеизхранилище Оглавление -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop3.3.6/hdfs/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
Исправлять hdfs-site.xml,В тег конфигурации добавьте следующее содержимое:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop3.3.6/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop3.3.6/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
Исправлять mapre-site.xml,В тег конфигурации добавьте следующее содержимое:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
Исправлять yarn-site.xml,В тег конфигурации добавьте следующее содержимое:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
Первый формат HDFS, который предназначен для выполнения самой базовой конфигурации hdfs:
hdfs namenode -format
Форматирование завершено.
Затем мы входим в каталог sbin
cd /opt/hadoop3.3.6/hadoop-3.3.6/sbin/
Здесь много скриптов, мы можем запустить их все.
./start-all.sh
Обычно ошибок не возникает, и в то же время используйте jps Команда Проверять, будет Datanode,ResourceManager,SecondaryNameNode,NameNode,NodeManager Пять процессов.
Еще один метод проверки успешности запуска:,дапосещатьпросить Hadoop Страница управления
http://IP:50070/
http://IP:8088/
Эти страницы изиспользовать,Мы будем существовать в соответствии с Hdfs,Yarn Мы объясним это подробно в следующей главе.
Ошибка при запуске, пользователь root не настроен
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [bigdataflowing]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation。
Запустить отчет об ошибках для настроек входа без пароля
localhost: Permission denied (publickey,password