2017-02-21 5 views
1

Я хотел бы прочитать данные из hadoop, процесс на искру и результат wirte по hadoop и эластичному поиску. У меня мало рабочих узлов для этого.Spark cluster - чтение/запись на hadoop

Spark автономный кластер достаточен? или мне нужно, чтобы кластер hadoop использовал пряжу или мезо?

Если автономный режим кластера достаточен, должен ли быть установлен файл jar на всем узле в отличие от пряжи, режима мезо?

ответ

2

Прежде всего, вы не можете записывать данные в Hadoop или читать данные из Hadoop. Это HDFS (компонент экосистемы Hadoop), который отвечает за чтение/запись данных. Сейчас подходит к вашему вопросу

  1. Да, можно считывать данные из HDFS и обработать его в свече двигателя, а затем записать вывод на HDFS.

  2. YARN, mesos и spark standalone - все это кластерные менеджеры, и вы можете использовать любой из них для управления ресурсами в вашем кластере, и это не имеет никакого отношения к hadoop. Но так как вы хотите читать и записывать данные с/на HDFS, вам нужно установить HDFS на кластер, и поэтому лучше всего установить hadoop на всех ваших узлах, которые также будут устанавливать HDFS на всех узлах. Теперь, хотите ли вы использовать YARN, mesos или искробезопасность, которая по вашему выбору, все будет работать с HDFS. Я сам использую искровую изоляцию для управления кластерами.

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

+0

Неправильный вопрос, хороший ответ. спасибо :) Я решил использовать пряжу в системе. Если это так, можно ли записать выходные данные результата на отдельные hdf-файлы, чтобы их можно было использовать для других входных данных? –

+0

Да, однажды записанный в hdfs, он может использоваться как вход в другую работу по сокращению карты. Но с помощью одиночных hdfs, если вы имеете в виду один выходной файл, вам нужно взять один редуктор, потому что каждый редуктор создает отдельный выходной файл, хотя все они сохраняются в одном каталоге. Еще один краеугольный случай - если ваш выходной файл слишком велик, то он будет разбит на несколько выходных файлов, но вы можете контролировать это также путем переопределения RecordWriter. Вывод задачи уменьшения обычно записывается в RecordWriter через TaskInputOutputContext.write (Object, Object). –

Смежные вопросы