2015-10-02 4 views
1

Насколько я понимаю, вы можете скачать исходный код Spark (1.5.1) или готовые бинарные файлы для различных версий Hadoop. По состоянию на октябрь 2015 г. веб-страница Spark http://spark.apache.org/downloads.html имеет готовые бинарные файлы от Hadoop 2.6+, 2.4+, 2.3 и 1.X.Какую версию Spark скачать?

Я не уверен, какую версию загрузить.

Я хочу запустить кластер Spark в автономном режиме с использованием машин AWS.

<EDIT>

Я буду работать процесс 24/7 потокового. Мои данные будут поступать из потока Кафки. Я думал об использовании spark-ec2, но поскольку у меня уже есть постоянные машины ec2, я думал, что могу использовать их.

Я понимаю, что, поскольку мои постоянные работники должны выполнять checkpoint(), он должен иметь доступ к какой-либо общей файловой системе с главным узлом. S3 кажется логичным выбором.
</EDIT>

Это означает, что мне нужно получить доступ к S3, но не к hdfs. У меня нет Hadoop.

У меня есть готовая искра для Hadoop 2.6. Я могу запустить его в локальном режиме, например, пример wordcount. Однако, всякий раз, когда я запускаю его, я получаю это сообщение

WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 

Это проблема? Нужен ли мне хаоп?

<EDIT>

Это не шоу пробки, но я хочу, чтобы убедиться, что я понимаю причину этого предупреждающего сообщения. Я был в предположении, что Спарку не нужен Hadoop, так почему он даже появляется? </EDIT>

ответ

1

Я не уверен, какую версию загрузить.

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

Я хочу запустить кластер искры в автономном режиме с использованием экземпляров AWS.

Считаете ли вы, что просто бежит Apache Spark on Amazon EMR? См. Также How can I run Spark on a cluster? из FAQ Spark и их ссылку на их EC2 scripts.

Это означает, что мне нужно получить доступ к S3, но не HDFS

Один не подразумевает другого. Вы можете запустить Spark-кластер на экземплярах EC2 отлично и никогда не иметь доступа к S3. Хотя многие примеры написаны с использованием доступа S3 через готовый код S3 "fs" drivers for the Hadoop library, обратите внимание, что в настоящее время существует 3 разных метода доступа. Настройте соответствующим образом.

Однако ваш выбор библиотек для загрузки будет зависеть от того, где находятся ваши данные. Spark может получить доступ к любой файловой системе, поддерживаемой Hadoop, from which there are several to choose.

Ваши данные даже в файлах? В зависимости от вашего приложения и где ваши данные, вам может потребоваться использовать только Data Frame над SQL, Cassandra или другими пользователями!

Однако всякий раз, когда я начинаю его, я получаю это сообщение

WARN NativeCodeLoader: Не удается загрузить библиотеку нативной Hadoop для платформы ... с помощью классов Java-встроенного, где это применимо Является ли это проблема? Нужен ли мне хаоп?

Не проблема. Он говорит вам, что он возвращается к неоптимальной реализации. Другие также имеют asked this question.

В общем, похоже, что сейчас у вас нет приложений, поэтому у вас нет никаких зависимостей. Зависимости - это то, что могло бы привести к различным конфигурациям, таким как доступ к S3, HDFS и т. Д.

Я могу запустить его в локальном режиме, например, пример wordcount.

Итак, вы хорошо?

UPDATE

Я редактировал оригинальный пост

Мои данные будут приходить из потока Кафки. ... Я понимаю, что .. моим постоянным работникам необходимо выполнить checkpoint().

Да, подход Direct Kafka доступен от Spark 1.3 on, и в этой статье используются контрольно-пропускные пункты. Для них требуется "fault-tolerant, reliable file system (e.g., HDFS, S3, etc.)". См. Spark Streaming + Kafka Integration Guide для вашей версии для конкретных оговорок.

Так почему [я вижу предупреждение Hadoop]?

В комплект поставки Spark входит только множество клиентских библиотек Hadoop. С полностью сконфигурированной установкой Hadoop для определенных пакетов существуют также определенные для платформы двоичные файлы. Они используются, если они доступны. Использовать их, augment Spark's classpath; В противном случае загрузчик будет отбрасываться до менее эффективных версий.

В зависимости от вашей конфигурации вы можете воспользоваться полностью сконфигурированной установкой Hadoop или HDFS. Вы упоминаете, что используете существующие, постоянные экземпляры EC2, вместо того, чтобы использовать что-то новое. Существует компромисс между S3 и HDFS: S3 - это новый ресурс (более дорогостоящий), но он сохраняется, когда ваш экземпляр отключен (можно выполнить вычисление и сохранить хранилище); однако S3 может страдать от латентности по сравнению с HDFS (у вас уже есть машины, почему бы не запустить файловую систему над ними?), а также не behave like a filesystem во всех случаях. Этот компромисс описывается Microsoft для choosing Azure storage vs. HDFS, например, при использовании HDInsight.

+0

благодарит за комментарий. Я отредактировал оригинальный пост. очень ценю вашу помощь – user3240688

1

Мы также запускаем Spark на EC2 против S3 (через файловую систему s3n). У нас была проблема с предварительно построенными версиями для Hadoop 2.x. К сожалению, я не помню, в чем проблема. Но в итоге мы работаем с предустановленной Spark для Hadoop 1.x, и он отлично работает.

+0

Простите за анекдотический ответ. Надеюсь, что это все равно. –

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