Kafka(3)
-
[Kafka] 카프카 주요 개념 정리
Apache Kafka는 분산 메시징 시스템(A high-throuhput distributed messaging system)이다. 2011년 링크드인에서 처음 개발 됐다. 자사 웹사이트의 이벤트 체크 목적으로 만들어지기 시작했고 2014년 아파치 재단으로 이관 됐다. Architecture 카프카는 발행-구독(publish-subscribe) 모델을 기반으로 동작한다. Producer가 데이터를 발행하고, Consumer가 구독하는 토픽의 데이터를 가져오는 구조다. 중간에서 Producer가 전달하는 데이터를 받는 클러스터를 Broker라고 한다. 고가용성(Fault tolerant, High Availability) 및 확장성(Scalability) 카프카를 논할 때 이 두 가지 특성이 빠지면 섭하..
2020.05.30 -
[Kafka] 카프카 실행, 토픽 생성, 메시지 테스트
Flafka(Flume + Kafka)를 구성하기 위한 카프카 테스트 (mac 기준) KAFKA 실행 Flume에서 데이터를 보내기 위해 알맞은 kafka 토픽을 생성해야 된다. zookeeper가 kafka의 노드를 관리하기 때문에 zookeeper부터 실행시켜보자. cf) 주키퍼랑 카프카는 모두 homebrew로 설치했고, HOME PATH 설정을 마쳤다. property 경로는 아래를 참고하면 된다. # zookeeper config PATH $KAFKA_HOME/conf/zookeeper.properties # kafka config PATH $KAFKA_HOME/conf/server.properties KAFKA_HOME 같은 경우는 본인이 카프카를 설치한 경로로 bash에 저장해주자. mac같..
2020.05.24 -
Apache Flume 기본 개념 정리
Apache Flume (아파치 플룸) 기본 개념 정리 오늘 소개 할 Apache Flume(이하 플룸)은 클라우데라에서 처음 개발 돼, 아파치 소프트웨어 재단으로 이관 됐다. 로그데이터를 깔끔하게 수집하는 데 이만한 게 없으며, 많은 기업들에서 실제 서비스 로그데이터 관리를 위해 사용하고 있다. 전체적인 구조를 간단하게 보자면 다음과 같다. 내가 이해한 구조는 위 그림과 같은데 (직접 그림), 서비스 서버에서 수집되는 로그를 Flume Agent가 Flume Collector가 있는 host로 보내는 것이다. Collector에 설정값을 통해 Sink를 정해주는데, sink란 수집 된 로그데이터를 저장해놓을 데이터베이스를 값으로 갖는다. sink는 위에 그려놓은 HDFS, Kafka 이외에도 열 가지가..
2020.04.04