Являются ли узлы данных в HDFS такими же, как узлы-исполнители в искровом кластере? - PullRequest
0 голосов
/ 21 мая 2019

Я изучаю Apache Spark и HDFS.Я понимаю их обоих по большей части, хотя меня смущает одна вещь.Мой вопрос: являются ли узлы данных в HDFS такими же, как узлы-исполнители в искровом кластере?Другими словами, работают ли узлы в HDFS с данными, которые они содержат, или данные из узлов данных в HDFS отправляются узлам-исполнителям в искровом кластере, где обрабатываются данные?Пожалуйста, дайте мне знать, если вы хотите, чтобы я что-то прояснил!Любая помощь приветствуется!

Спасибо,

Тейлор

Ответы [ 3 ]

2 голосов
/ 21 мая 2019

Только если DataNode также работает NodeManager. HDFS обрабатывает только данные. YARN обрабатывает вычисления. ResourceManager от YARN назначает вычислительные ресурсы NodeManager, которые по понятным причинам совмещены с узлами данных.

YARN и Spark пытаются переместить исполнителей в DataNodes / NodeManager, у которых есть данные, которые обрабатывает Spark (локальность данных), но это скорее оптимизация, а не жесткое требование. Тем более что большинство современных центров обработки данных имеют объединительные платы Ethernet 10 ГБ, поэтому стоимость перемещения данных на запасной узел обходится дешевле, чем раньше, когда перемещение данных по сети было дорогостоящим.

2 голосов
/ 21 мая 2019

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

Если рассматривать одну машину (и вы также запустите Spark в локальном режиме), DataNode и NameNode - это всего лишь программные части для поддержки абстрактного дизайна HDFS (то есть * 1007).* хранит деревья файлов, метаданные файлов и т. д., в то время как DataNode сохраняет фактические порции данных.).driver и executors являются концепциями в Spark, в локальном режиме приложение Spark состоит из driver процесса и набора executor процесса , которые выполняются как потоков на вашем отдельном компьютере.

0 голосов
/ 21 мая 2019

Если ваш кластер Spark работает с мастером yarn, тогда да, ваши исполнители Spark будут работать на тех же узлах в кластере Hadoop, где хранятся данные.

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

...