Обработка прямой трансляции логов с веб-сервера с помощью Hadoop - PullRequest
2 голосов
/ 02 марта 2010

Я хочу обрабатывать журналы с моего веб-сервера, используя протокол Hadoop (Amazon Elastic mapreduce). Я погуглил на помощь, но ничего полезного. Я хотел бы знать, можно ли это сделать или есть альтернативный способ сделать это.

Ответы [ 4 ]

1 голос
/ 11 июля 2010

Hadoop не используется для обработки в реальном времени. Но его можно использовать для ежечасной обработки журналов, отстая на один час, что практически в реальном времени. Интересно, для чего нужна обработка логов в том виде, в каком они есть.

1 голос
/ 08 марта 2010

Hadoop обычно используется в автономном режиме. Поэтому я бы предпочел периодически обрабатывать журналы.

В проекте, с которым я был связан ранее, мы заставили наши серверы создавать файлы журналов, которые менялись ежечасно (каждый час в x: 00). У нас был скрипт, который запускался ежечасно (каждый час в x: 30), загружал файлы в HDFS (те, которых там еще не было). Затем вы можете запускать задания так часто, как вам нужно, в Hadoop для обработки этих файлов.

Я уверен, что есть и лучшие альтернативы в реальном времени.

0 голосов
/ 18 июля 2012

Если вам нужна настоящая обработка в реальном времени, вы можете взглянуть на Twitter's Storm , который с открытым исходным кодом и размещен на GitHub. Учебник здесь .

Похоже, что используется в производстве в крупных компаниях.

На этой ноте я сам не использую Storm, и на самом деле делаю что-то похожее на то, что было упомянуто в вопросе и ответах:

  1. Записывать события, используя Apache (используя rotatelogs для изменения файлов журнала каждые 15/30 минут)
  2. Загружайте их так часто на S3
  3. Добавить новый шаг в существующий кластер Hadoop (в Amazon EMR)

С Hadoop вы можете приблизиться к режиму реального времени, часто выполняя пакетную обработку в кластере и просто добавляя новое задание, но не в реальном времени. Для этого вам нужен Storm или что-то подобное.

0 голосов
/ 27 июня 2012

Можно попробовать использовать Flume в качестве сборщика журналов и сохранить их в S3 для пакетной обработки:

http://www.cloudera.com/blog/2011/02/distributed-flume-setup-with-an-s3-sink/

...