Настройте кластер Hadoop и увеличьте объем хранилища без простоев

Сегодня я обсуждаю отличную тему, где покажу вам, как мы можем увеличить наше хранилище на лету без каких-либо помех. Как вы знаете, в настоящее время почти каждая отрасль использует системы распределенного хранения, так как большие данные поступают каждый день, и они также заботятся о стоимости и производительности.

На рынке доступно множество программ, предоставляющих распределенное хранилище, таких как Hadoop, Splunk.

Hadoop — это программная платформа с открытым исходным кодом для хранения данных и запуска приложений на кластерах общедоступного оборудования. Он обеспечивает массивное хранилище для любого типа данных, огромную вычислительную мощность и возможность обрабатывать практически неограниченное количество одновременных задач или заданий.

В распределенной системе хранения есть два способа увеличить хранилище.

  1. Горизонтальное масштабирование
  2. Вертикальное масштабирование

Сначала мы создаем кластер Hadoop, в котором настраиваем главные и подчиненные узлы. Затем я говорю о части хранения.

Главный узел Hadoop

Нам нужно программное обеспечение Hadoop. Я использую Hadoop 1.2.1, которое вы можете скачать откуда угодно. Нам также нужно программное обеспечение Java, потому что оно создано поверх Java и загружает совместимую версию Java. Теперь настройте установку главного узла.

Перейдите в /etc/hadoop/ и отредактируйте файлы core-site.xml и файл hdfs-site.xml.

В hdfs-site.xml мы пишем имя папки, которое мы разделяем в ключевом слове value.

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

Отформатируйте главный узел.

hadoop namenode -format

Запустить службы

hadoop-daemon.sh start namenode

Ведомый узел Hadoop

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

Здесь в ключевом слове value напишите свое имя узла IP.

Теперь. Перед тем, как мы разделим наше хранилище, возникает интересная часть, мы подключаем отдельный жесткий диск и монтируем его в эту папку и делаем так, чтобы хранилище было заполнено, чтобы можно было добавить больше жесткого диска без внесения каких-либо изменений.

Мы используем концепцию LVM для выполнения вышеуказанного условия. Сначала подключите жесткий диск. Прикрепляю два жестких диска по 1 Гб

вы можете проверить с помощью команды fdisk -l

Необходимо создать PV (физический том) и VG (группа томов) для LVM (управление логическими томами). Сначала создайте PV с помощью команды pvcreate {disk name} После этого вы можете проверить с помощью команды pvdisplay

Создайте VG из vgcreate {name}{pvname} PV и проверьте vgdisplay {vgname}

Теперь создайте LVM любого размера, который вы хотите, но он находится между размером VG.

lvcreate --size +{size}G --name {name} {vg name}

Проверить по lvdisplay {vgname}/{lv name}

Затем отформатируйте этот lvm

mkfs.ext4 {lv path}

Теперь он готов к использованию, просто смонтируйте его в папку

mount {lv path} {folder name}

Наконец, поместите имя папки в файл конфигурации Hadoop.

Запустить службы

hadoop-daemon.sh start datanode

Теперь ваш кластер готов к использованию. Вы можете проверить детали узлов данных

hadoop dfsadmin -report

Давайте поговорим о нашей основной теме, если случайно наше хранилище заполнено и вам нужно добавить на лету без каких-либо помех, поэтому есть два способа:

  1. Мы можем добавить еще один узел данных, как указано выше, это называется Горизонтальное масштабирование. Но это немного длительный процесс.
  2. Мы можем добавить дополнительное хранилище данных в подчиненный узел Hadoop, это называется вертикальным масштабированием.

В вертикальном масштабировании также есть два способа добавления данных:

  1. Увеличьте размер lv, если у вас есть дополнительное хранилище в VG.
lvextend --size +{size}G {lv path}
resize2fs {lv path}

2. Добавьте новый жесткий диск, создайте pv и подключите его с помощью VG. Затем увеличьте размер lv

vgextend {vg name} {pv name}

Это все …

Давайте предположим, что нам нужно срочное хранилище, поэтому мы можем также уменьшить хранилище другого lv и добавить его к другому lv, но только при условии, что оба находятся в одной и той же VG.

Спасибо за чтение!