Nutch и сохраняйте данные сканирования в Amazon S3

Я пытаюсь оценить, подходят ли технологии Nutch/Solr/Hadoop для моей задачи.

PS: Раньше я пытался интегрировать Nutch (1.4) и Hadoop, чтобы посмотреть, как это работает.

Вот чего я пытаюсь достичь в целом: а) Начните с исходного URL-адреса и просканируйте и проанализируйте/сохраните данные/ссылки - что в любом случае делает сканер Nutch.

б) Затем иметь возможность запрашивать просканированные индексы из клиента Java --- (может быть либо с использованием клиента SolrJ)

c) Поскольку Nutch (начиная с версии 1.4.x) уже использует Hadoop для внутреннего использования. Я просто установлю Hadoop и настрою в nutch-**.xml

d) Я хочу, чтобы Nutch сохранял просканированные индексы в Amazon S3, а также чтобы Hadoop использовал S3 в качестве файловой системы. Это вообще возможно? или даже стоит?

e) Я читал на одном из форумов, что в Nutch 2.0 есть слой данных, использующий GORA, который может сохранять индексы в HBase и т. д. Я не знаю, когда должен выйти релиз 2.0. :-( Кто-нибудь предлагает взять "незавершенный" ствол 2.0 и начать его использовать, надеясь рано или поздно получить выпущенную библиотеку?

PS: я все еще пытаюсь понять, как/когда/почему/где Nutch использует Hadoop внутри компании. Я просто не могу найти письменную документацию или учебные пособия. Любая помощь в этом аспекте также очень ценится.

Если вы читаете эту строку, то большое вам спасибо за то, что дочитали этот пост до этого момента :-)


person buzzy2020    schedule 12.09.2011    source источник


Ответы (1)


Hadoop изначально может использовать S3 в качестве базовой файловой системы. У меня были очень хорошие результаты с этим подходом при запуске Hadoop в EC2, либо с использованием EMR, либо с вашими собственными или сторонними образами AMI Hadoop. Я бы не рекомендовал использовать S3 в качестве базовой файловой системы при использовании Hadoop за пределами EC2, поскольку ограничения пропускной способности, скорее всего, сведут на нет любой прирост производительности, который даст вам Hadoop. Адаптер S3 для Hadoop был разработан Amazon и является частью ядра Hadoop. Hadoop обрабатывает S3 так же, как HDFS. Дополнительную информацию об использовании Hadoop с С3.

Nutch предназначен для запуска в качестве задания в кластере Hadoop (в режиме «развертывания») и поэтому не включает файлы jar Hadoop в свой дистрибутив. Однако, поскольку он выполняется как задание Hadoop, он может получить доступ к любому базовому хранилищу данных, которое поддерживает Hadoop, например HDFS или S3. При запуске в «локальном» режиме вы предоставляете собственную локальную установку Hadoop. После завершения сканирования в режиме «развертывания» данные будут храниться в распределенной файловой системе. Из соображений производительности рекомендуется дождаться завершения индексирования, а затем загрузить индекс на локальный компьютер для поиска, а не искать в DFS. Дополнительные сведения об использовании Nutch с Hadoop см. на странице http://wiki.apache.org/nutch/NutchHadoopTutorial.

Что касается HBase, у меня был хороший опыт его использования, хотя и не для вашего конкретного случая использования. Я могу представить, что для случайного поиска Solr может быть быстрее и многофункциональнее, чем HBase, но это спорно. HBase, вероятно, стоит попробовать. Пока не выйдет версия 2.0, вы можете написать свой собственный коннектор Nutch-to-HBase или пока просто придерживаться Solr.

person Patrick Salami    schedule 14.09.2011