Поиск по сайту:

Как установить кластер Hadoop с одним узлом (псевдоузел) на CentOS 7


Hadoop – это платформа с открытым исходным кодом, широко используемая для работы с большими данными. Большинство проектов Bigdata/Data Analytics строятся на базе эко-системы Hadoop. Он состоит из двух слоев: один предназначен для Хранения данных, а другой — для Обработки данных.

О Хранилище будет заботиться собственная файловая система под названием HDFS (Распределенная файловая система Hadoop), а Обработка будет осуществляться. заботой YARN (еще одного переговорщика по ресурсам). Mapreduce — это механизм обработки по умолчанию в экосистеме Hadoop.

В этой статье описан процесс установки псевдонода Hadoop, в котором будут использоваться все демоны (JVM). запуск кластера Один узел на CentOS 7.

Это в основном для новичков в изучении Hadoop. В режиме реального времени Hadoop будет установлен как многоузловой кластер, где данные будут распределяться между серверами в виде блоков, а задания будут выполняться параллельно.

Предварительные условия

  • Минимальная установка сервера CentOS 7.
  • Выпуск Java v1.8.
  • Стабильная версия Hadoop 2.x.

На этой странице

  • Как установить Java на CentOS 7
  • Настройка входа без пароля на CentOS 7
  • Как установить единый узел Hadoop в CentOS 7
  • Как настроить Hadoop в CentOS 7
  • Форматирование файловой системы HDFS через NameNode

Установка Java на CentOS 7

1. Hadoop — это экосистема, состоящая из Java. Для установки Hadoop в нашей системе обязательно должна быть установлена Java.

yum install java-1.8.0-openjdk

2. Затем проверьте установленную версию Java в системе.

java -version

Настройка входа без пароля в CentOS 7

Нам необходимо настроить ssh на нашей машине, Hadoop будет управлять узлами с помощью SSH. Главный узел использует соединение SSH для подключения своих подчиненных узлов и выполнения таких операций, как запуск и остановка.

Нам нужно настроить ssh без пароля, чтобы главный мог общаться с подчиненными, используя ssh без пароля. В противном случае для каждого установления соединения потребуется вводить пароль.

В этом единственном узле службы Главный (Namenode, Вторичный Namenode и Диспетчер ресурсов) и Подчиненный< Службы (Datanode и Nodemanager) будут работать как отдельные JVM. Несмотря на то, что это один узел, нам нужен ssh без пароля, чтобы Master мог обмениваться данными с Slave без аутентификации.

3. Настройте на сервере вход по SSH без пароля, используя следующие команды.

ssh-keygen
ssh-copy-id -i localhost

4. После того, как вы настроили вход по SSH без пароля, попробуйте войти еще раз, вы будете подключены без пароля.

ssh localhost

Установка Hadoop в CentOS 7

5. Перейдите на веб-сайт Apache Hadoop и загрузите стабильную версию Hadoop, используя следующую команду wget.

wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz
tar xvpzf hadoop-2.10.1.tar.gz

6. Затем добавьте переменные среды Hadoop в файл ~/.bashrc, как показано.

HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX

7. После добавления переменных среды в файл ~/.bashrc найдите источник файла и проверьте Hadoop, выполнив следующие команды.

source ~/.bashrc
cd $HADOOP_PREFIX
bin/hadoop version

Настройка Hadoop в CentOS 7

Нам необходимо настроить указанные ниже файлы конфигурации Hadoop, чтобы они соответствовали вашему компьютеру. В Hadoop каждая служба имеет собственный номер порта и собственный каталог для хранения данных.

  • Файлы конфигурации Hadoop — core-site.xml, hdfs-site.xml, Mapred-site.xml и Yarn-site.xml.

8. Сначала нам нужно обновить путь JAVA_HOME и Hadoop в файле hadoop-env.sh, как показано ниже. .

cd $HADOOP_PREFIX/etc/hadoop
vi hadoop-env.sh

Введите следующую строку в начале файла.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1

9. Затем измените файл core-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi core-site.xml

Вставьте следующее между тегами <configuration>, как показано.

<configuration>
            <property>
                   <name>fs.defaultFS</name>
                   <value>hdfs://localhost:9000</value>
           </property>
</configuration>

10. Создайте указанные ниже каталоги в домашнем каталоге пользователя tecmint, который будет использоваться для хранения NN и DN.

mkdir -p /home/tecmint/hdata/
mkdir -p /home/tecmint/hdata/data
mkdir -p /home/tecmint/hdata/name

10. Затем измените файл hdfs-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi hdfs-site.xml

Вставьте следующее между тегами <configuration>, как показано.

<configuration>
<property>
        <name>dfs.replication</name>
        <value>1</value>
 </property>
  <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/tecmint/hdata/name</value>
  </property>
  <property>
          <name>dfs .datanode.data.dir</name>
          <value>home/tecmint/hdata/data</value>
  </property>
</configuration>

11. Снова измените файл mapred-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

Вставьте следующее между тегами <configuration>, как показано.

<configuration>
                <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                </property>
</configuration>

12. Наконец, измените файл yarn-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi yarn-site.xml

Вставьте следующее между тегами <configuration>, как показано.

<configuration>
                <property>
                       <name>yarn.nodemanager.aux-services</name>
                       <value>mapreduce_shuffle</value>
                </property>
</configuration>

Форматирование файловой системы HDFS через NameNode

13. Перед запуском Кластера нам необходимо отформатировать Hadoop NN в нашей локальной системе, где он был установлен. Обычно это делается на начальном этапе перед первым запуском кластера.

Форматирование NN приведет к потере данных в метахранилище NN, поэтому нам следует быть более осторожными: не следует форматировать NN во время работы кластера, если это не требуется намеренно.

cd $HADOOP_PREFIX
bin/hadoop namenode -format

14. Запустите демон NameNode и демон DataNode: (порт 50070).

cd $HADOOP_PREFIX
sbin/start-dfs.sh

15. Запустите демон ResourceManager и демон NodeManager: (порт 8088).

sbin/start-yarn.sh

16. Остановить все службы.

sbin/stop-dfs.sh
sbin/stop-dfs.sh
Краткое содержание

Резюме
В этой статье мы пошагово рассмотрели процесс настройки псевдонода Hadoop (одиночный узел) кластера. Если у вас есть базовые знания Linux и вы выполните следующие действия, кластер будет запущен через 40 минут.

Это может быть очень полезно новичку, чтобы начать изучать и практиковать Hadoop, или эту стандартную версию Hadoop можно использовать в целях разработки. Если мы хотим иметь кластер реального времени, нам нужно либо иметь как минимум 3 физических сервера, либо предоставить облако для наличия нескольких серверов.