Процесс журнала сервера приложений

У меня есть требование от моего клиента обработать файл журнала сервера приложений (Tomcat) для внутреннего сервера приложений на основе REST, который развернут в кластере. Клинт хочет создать отчет «доступ» и «частота» из этих данных с разными параметрами.

Мой первоначальный план состоит в том, чтобы получить эти данные из журнала сервера приложений --> отправить в Spark Streaming с помощью kafka и обработать данные --> сохранить эти данные в HIVE --> использовать zeppelin для возврата этих обработанных и централизованных данных журнала и создания отчетов. согласно требованию клиента.

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

Другой вариант, я думаю, у нас есть в этом случае, это Apache Flume.

Может ли кто-нибудь предложить мне, какой из подходов будет лучше в этом случае, или если в Kafka у нас есть какой-либо процесс для самостоятельного чтения данных из файла журнала, и какие преимущества или недостатки мы можем иметь в функции в обоих случаях?

Я предполагаю, что еще один вариант — это Flume + kakfa вместе, но я не могу предполагать, что произойдет, так как я почти ничего не знаю о flume.

Любая помощь будет высоко оценена ...... :-)

Большое спасибо ....


person Biswajit    schedule 24.07.2017    source источник


Ответы (1)


Вы можете использовать Kafka Connect (коннектор источника файлов) для чтения/использования файлов журналов Tomcat и отправки их в Kafka. Затем Spark Streaming может получать данные из тем Kafka и обмениваться данными.

tomcat -> журналы ---> kafka connect -> kafka -> spark -> Hive

person Abhishek    schedule 25.07.2017
comment
kafka connect, я думаю, не будет, я изучаю, так как это не подходит. Я решаю эту проблему, используя синхронизацию Flume с kafka. Большое спасибо за ваш ответ. - person Biswajit; 31.07.2017