Искра в MongoDB через Месос
Я пытаюсь подключить Apache Spark к MongoDB с помощью Mesos. Вот моя архитектура:
MongoDB: MongoDB кластер из 2 шардов, 1 сервер конфигурации и 1 сервер запросов. Мезос: 1 Месос Мастер, 4 Мезос рабов
Теперь я установил Spark только на 1 узле. Существует не так много информации по этому вопросу. Я просто хотел задать несколько вопросов:
Согласно тому, что я понимаю, я могу подключить Spark к MongoDB через mesos. Другими словами, я использую MongoDB в качестве слоя хранения. Мне действительно нужен Hadoop? Обязательно ли загружать все данные в Hadoop только для чтения Spark?
Вот причина, почему я спрашиваю это. Spark Install ожидает установки переменной HADOOP_HOME. Это похоже на очень жесткую связь! Большинство постов в сети говорят о разъеме MongoDB-Hadoop. Это не имеет смысла, если вы заставляете меня перевести все на hadoop.
У кого-нибудь есть ответ?
С уважением Марио
2 ответа
Сам Spark зависит от Hadoop, и данные в HDFS могут использоваться в качестве источника данных.
Однако, если вы используете Mongo Spark Connector, вы можете использовать MongoDB в качестве источника данных для Spark, вообще не используя Hadoop.
Соединитель Spark-mongo - хорошая идея, более того, если вы выполняете Spark в кластере hadoop, вам нужно установить HADOOP_HOME.
Проверьте свои требования и протестируйте его ( учебник)
Basic working knowledge of MongoDB and Apache Spark. Refer to the MongoDB documentation and Spark documentation.
Running MongoDB instance (version 2.6 or later).
Spark 1.6.x.
Scala 2.10.x if using the mongo-spark-connector_2.10 package
Scala 2.11.x if using the mongo-spark-connector_2.11 package
Новый MongoDB Connector для Apache Spark обеспечивает более высокую производительность, большую простоту использования и доступ к более продвинутым функциям Spark, чем MongoDB Connector для Hadoop. В следующей таблице сравниваются возможности обоих разъемов.
Затем вам нужно настроить Spark с мезо:
To use Mesos from Spark, you need a Spark binary package available in a place accessible by Mesos, and a Spark driver program configured to connect to Mesos.
Alternatively, you can also install Spark in the same location in all the Mesos slaves, and configure spark.mesos.executor.home (defaults to SPARK_HOME) to point to that location.