Подтвердить что ты не робот

Hadoop Datanode, namenode, вторичный namenode, отслеживатель заданий и отслеживание задач

Я новичок в hadoop, поэтому у меня есть некоторые сомнения. Если master- node не удалось, то что произошло с кластером hadoop? Можем ли мы восстановить этот node без потерь? Возможно ли, чтобы вторичный мастер-node автоматически переключился на главный, когда текущий не удался?

У нас есть резервная копия namenode (Secondary namenode), поэтому мы можем восстановить namenode из Secondary namenode, когда он терпит неудачу. Как это, Как восстановить данные в datanode, когда Datanode не удается? Второе namenode - это резервное копирование namenode, но не к datenode, верно? Если перед завершением задания не удалось выполнить node, так что есть задание, ожидающее выполнения в задании, является ли это занятие продолжением или перезапуском с первого в свободном node?

Как мы можем восстановить все данные кластера, если что-нибудь случится?

И мой последний вопрос, можем ли мы использовать программу C в Mapreduce (например, Bubble sort в mapreduce)?

Заранее спасибо

4b9b3361

Ответ 1

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

Прежде всего позвольте мне представить вам Вторичное имя Node:

Он содержит изображение пространства имен, редактирует файлы журналов в прошлом час (настраивается). И его работа заключается в объединении последнего имени NodeNameSpaceImage и редактировать файлы журналов для загрузки обратно в Имя Node как замена старого. Чтобы иметь вторичный NN в кластере, нет обязательно.

Теперь приходим к твоим опасениям.

  • Если master- node не удалось, то что произошло с кластером hadoop?

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

  • Можем ли мы восстановить этот Node без потерь?

Это гипотетично, без потерь это наименее возможно, так как все данные (отчеты блоков) будут потеряны, которые отправлены узлами данных в Имя Node после последнего резервного копирования, полученного по второму имени node. Почему я упомянул по крайней мере, потому что если имя Node завершается неудачно сразу после успешного резервного запуска по второму имени Node, тогда он находится в безопасном состоянии.

  • Возможно ли, чтобы вторичный мастер- node автоматически переключался на главный, когда текущий не работает?

Это может быть возможно администратором (пользователем). И переключить его автоматически вы должны написать собственный код из кластера, Код для мониторинга кластера, который будет сопоставлять вторичное имя Nodeи перезапустите кластер с новым именем Node.

  • У нас есть резервная копия namenode (Secondary namenode), поэтому мы можем восстановить namenode из Secondary namenode, когда он терпит неудачу. Как это сделать, как восстановить данные в datanode при сбое данных datanode?

Речь идет о коэффициент репликации, у нас есть 3 (по умолчанию, как наилучшая практика, настраиваемые) реплики каждого файлового блока в разных узлах данных. Поэтому в случае сбоя на время у нас есть 2 резервных узла данных. Позже имя Node создаст еще одну копию данных, которые не удались данных Node.

  • Вторичный namenode - это резервное копирование namenode, но не для datenode, правильно?

Right. Он просто содержит все метаданные узлов данных, таких как данные Nodeадрес, свойства, включая отчет блока для каждого из данных node.

  • Если перед завершением задания произошел сбой Node, поэтому в задатчике есть работа, ожидающая выполнения, это продолжение или перезапуск задания из первого в свободном node?

HDFS будет пытаться продолжить работу. Но опять же это зависит от коэффициент репликации, информация о стойке и другая конфигурация, сделанная админ. Но если следовать рекомендациям Hadoop о HDFS, то это не получится. JobTracker получит реплицированный Node адрес continnue.

  • Как мы можем восстановить все данные кластера, если что-нибудь случится?

Перезагрузив его.

  • И мой последний вопрос, можем ли мы использовать программу C в Mapreduce (например, Bubble sort в mapreduce)?

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

Я просто попробовал. Надеюсь, это поможет вам, а также другим.

* Предложения/улучшения приветствуются. *

Ответ 2

В настоящее время кластер hasoop имеет одну точку отказа, которая является namenode.

И о вторичном node isssue (из apache wiki):

Термин "вторичное имя - node" несколько вводит в заблуждение. Это не name- node в том смысле, что узлы данных не могут подключаться к вторичному name- node, и ни в коем случае он не может заменить первичное имя node в случае его отказа.

Единственная цель вторичного имени - node - выполнять периодические контрольно-пропускные пункты. Второе имя node периодически загружает текущие name- node изображение и редактирует файлы журналов, объединяет их в новое изображение и загружает новое изображение обратно в (первичное и единственное) имя node. См. Руководство пользователя.

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

Существуют сложные способы преодоления этой единственной точки отказа. Если вы используете распределение cloudera, один из способов, описанных здесь здесь. Распределение Mapr имеет другой способ, чтобы справиться с этим спором.

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

Ответ 3

Хотя, слишком поздно ответить на ваш вопрос, но просто это может помочь другим. Сначала мы обсудим роль демонов Hadoop 1.X, а затем ваши проблемы.

1. Что такое роль вторичного имени Node это не совсем резервная копия node. он читает журналы редактирования и периодически создает обновленный файл fsimage для имени node. он периодически получает метаданные из имени node и сохраняет их и использует, когда сбой имени node. 2. что называется именем Node это менеджер всех демонов. его мастер jvm proceess, который выполняется на master node. он взаимодействует с узлами данных.

3. какова роль отслеживания работы он принимает задание и распределяет треки задач для обработки на узлах данных. его называемый процессом карты

4. какова роль диспетчеров задач он выполнит программу, предназначенную для обработки существующих данных в данных node. этот процесс называется картой.

ограничения hadoop 1.X

  • единственная точка отказа который называется node, поэтому мы можем поддерживать высококачественное оборудование для имени node. если имя node не удастся, все будет недоступно

Решение решением для единственной точки отказа является hasoop 2.X, который обеспечивает высокую доступность.

высокая доступность с hadoop 2.X

теперь ваши темы....

Как восстановить все данные кластера, если что-нибудь произойдет? если сбой кластера, мы можем перезапустить его.

Если перед завершением задания произошел сбой node, поэтому в задании есть задание, ожидающее продолжения или перезапуска с первого в свободном node? у нас есть 3 реплики данных (я имею в виду блоки), чтобы получить высокую доступность, зависит от администратора, сколько реплик, которые он установил... поэтому слежения за работой будут продолжены с другой копией данных по другим данным Node

можем ли мы использовать программу C в Mapreduce (например, Bubble sort в mapreduce)? в основном mapreduce - это механизм выполнения, который будет решать или обрабатывать большие проблемы с данными в (хранения и обработки) распределенных манерах. мы делаем обработку файлов и все другие основные операции с использованием программирования mapreduce, поэтому мы можем использовать любой язык, где мы можем обрабатывать файлы в соответствии с требованиями.

архитектура hadoop 1.X hasoop 1.x имеет 4 базовых демона

Я просто попробовал. Надеюсь, это поможет вам, а также другим.

Предложения/улучшения приветствуются.