Учитывая большой файл данных и jarfile, содержащий mapper, классы редуктора, я хочу знать, как должен быть сформирован большой кластер Hadoop (я имею в виду, сколько машин мне понадобится для создания кластера для данное задание выполняется эффективно.) Я запускаю задание по данным файла данных.Извлечь свойства задания hadoop
ответ
Предполагая, что ваша шкала заданий MapReduce линейно, я предлагаю следующий тест, чтобы получить общее представление о том, что вам нужно. Я предполагаю, что у вас есть время, когда вы говорите «бегите эффективно» ... это может быть 1 минута для кого-то или 1 час для кого-то ... это зависит от вас.
Задание задания на одном узле на подмножестве ваших данных, которое лучше всего подходит для одного узла ... или небольшого числа узлов. Этот тестовый кластер должен быть репрезентативным для типа оборудования, которое вы приобретете позже.
[(time job took on your test cluster) x (number of nodes in test cluster)]
x [(size of full data set)/(size of sample data set)]
/(new time, i.e., "run efficiently")
= (number of nodes in final cluster)
Некоторые вещи, чтобы отметить:
- Если вы дважды «время работы взяли на тест-кластер», вам нужно в два раза больше узлов.
- Если вы вдвое увеличиваете «новое время», то есть хотите, чтобы ваша работа выполнялась в два раза быстрее, вам потребуется вдвое больше узлов.
- Отношение образца показывает, сколько масштабирует результат
Пример:
У меня есть работа, которая занимает 30 минут на двух узлах. Я выполняю эту работу на 4 ГБ 400 ГБ данных (400/4 ГБ). Я бы хотел, чтобы моя работа заняла 12 минут.
(30 minutes x 2 nodes) x (400/4) GB/12 = 500 nodes
Это несовершенны несколькими способами:
- С одним или двумя узлами, я не в полной мере принимая во внимание, сколько времени это займет, чтобы передать материал над сеть ... большая часть работы по созданию карты. Таким образом, вы можете предположить, что это займет больше времени, чем эта оценка. Если можно, проверьте свою работу на 4-10 узлов и оттуда оттуда.
- Hadoop не «масштабируется» хорошо. Существует определенный предел скорости, с которым вы не сможете пересечь MapReduce. Где-то около 2-3 минут на большинстве кластеров я видел. То есть вы не будете запускать задание MapReduce за 3 секунды, имея миллион узлов.
- Ваша работа может не масштабироваться линейно, и в этом случае это упражнение является ошибочным.
- Возможно, вы не можете найти репрезентативное оборудование. В этом случае вам придется учитывать, насколько быстрее вы думаете, что ваша новая система будет. не
В целом, нет супер точный способ делать то, что вы говорите. Лучшее, что вы действительно можете сделать прямо сейчас, это экспериментирование и экстраполяция. Чем больше узлов вы можете выполнить тест, тем лучше, так как часть экстраполяции будет более точной.
По моему опыту, при тестировании от 200 узлов до 800 узлов эта метрика довольно точна. Я был бы взволнован, если перейду от 1 узла или 2 узла к 800. Но 20 узлов до 800 могут быть в порядке.
- 1. Задайте свойства задания и переопределите свойства в заданиях hadoop.
- 2. Конфигурация задания Hadoop
- 3. Свинья: рабочие задания Hadoop
- 4. Hadoop Выполнение задания
- 5. Hadoop ошибка выполнения задания
- 6. Выполнение задания hadoop
- 7. Описание задания Hadoop
- 8. Преобразование задания Hadoop в Spark
- 9. Hadoop Quering после задания mapreduce
- 10. Получить хосты для задания hadoop
- 11. Расположение файла ввода задания Hadoop
- 12. Hadoop mapreduce-java.io.IOException: сбой задания
- 13. Свойства конфигурации Hadoop
- 14. Создание объекта задания Hadoop для потоковой передачи Hadoop
- 15. Отправка задания Hadoop без использования Hadoop на клиенте
- 16. Извлечь количество сокращаемых групп ввода в Hadoop
- 17. Как zookeeper определяет «java.library.path» для задания hadoop?
- 18. Как отфильтровать все неудачные задания Hadoop?
- 19. Запуск задания Hadoop без использования JobConf
- 20. Используйте вывод задания hadoop как вход другого
- 21. Hadoop: выполнить локальный метод bewteen 2 задания
- 22. Неудачное выполнение задания Hadoop (неудачно) в Python
- 23. Hadoop ResourceManager не показывают запись любого задания,
- 24. ConnectException при отправке задания hadoop из eclipse
- 25. Запуск задания Hadoop удаленно с Java-клиента
- 26. hadoop Как создавать входы из задания карты
- 27. Рабочие задания Hadoop внутри основного метода
- 28. Ошибка задания Hadoop: Ошибка чтения IndexFile?
- 29. Запуск задания hadoop с использованием команды java
- 30. hadoop пример задания с ошибкой в сети
Что вы подразумеваете под "run эффективно"? – facha
«run эффективно» означало, что я должен получать результат за меньшее время, и я не должен заканчивать использование дополнительных машин, когда это может быть сделано на меньшем количестве машин (у меня есть верхняя граница количества доступных машин). – user2987506