BigData/Kafka (7) 썸네일형 리스트형 Nifi Apache Nifi는 시스템 간 데이터 전달을 효율적으로 처리, 관리, 모니터링 하기에 최적화 된 시스템 입니다. 특징으로 Dataflow를 쉽게 구성이 가능하며, 시스템 간의 데이터 이동과 내용을 볼 수 있는 UI를 제공 합니다. 현재 Test Server에 구축이 되어있고 Kafka TO ElasticSearch 데모 환경이 구성 되어 있습니다. Nifi 구동화면 Kafka to Elastic Fluentd Fluentd는 Kafka를 사용하는 다양한 플랫폼에서 사용 하는 오픈 소스 데이터 수집기 입니다. 특징으로는 다양한 Source 와 Target의 Plugin을 제공 하여 확장성이 뛰어나고 Zero-Copy를 기반으로 한 빠른 성능 입니다. 현재 Test Server에 구축이 되어있고 Kafka TO ElasticSearch 데모 환경이 구성 되어 있습니다. Fluentd 데모 구성도 Fluentd 구동화면 키바나에서 Data 조회 PrestoDB/Kafka PrestoDB KafkaConnector는 kafka Topic의 Data를 테이블 형식으로 정형화 하여 SQL쿼리로 Topic의 Data를 조회 할수 있게 하고 JDBC를 제공 하여 Produser/Consumer API개발에 편의성을 제공합니다. Kafdrop 으로 Kafka Topic Data 조회 PrestoDB catalog에 kafka 프로퍼티 추가 /presto-server-0.273.3/etc/catalog/kafka.properties #커넥터 종류 connector.name=kafka #kafka 브로커 서버 정보 kafka.nodes=ip:9092,ip:9092,ip:9092 #정형화할 Topic name kafka.table-names=tpch.customer,tpch.orders.. [Kafka Monitoring] Kafdrop 개발서버에 Kafka 모니터링 툴 중 오픈소스로 제공되는 Kafdrop을 구축하였습니다. Kafdrop의 주기능은 Kafka의 Topic 관리와 해당 Topic에 적재된 데이터 및 오프셋 모니터링입니다. - 토픽 생성 / 파티션 설정(생성시에만 가능) / 오프셋 조회 가능 - 브로커 정보 조회 가능 - 토픽 데이터 파티션별 및 시간별 조회 가능 Broker & Topic 확인 Topic 정보 확인 Topic 메세지 확인 [Kafka Monitoring] Kafka Manager(CMAK) 개발서버에 Kafka Manager(CMAK)를 구축했습니다. Kafka Manager란 GUI 기반 카프카 관리 도구로 웹 환경에서 클러스터, 토픽 등의 생성 및 변경, Consumer Group 확인 등의 작업을 진행할 수 있습니다. Kafka Manager는 현재 개발서버에서 백그라운드로 실행 중입니다. Kafka Manager 구동 확인 Kafka Manager의 IP와 Port로 웹에서 접속을 하면 아래와 같이 웹 환경에서 Kafka 모니터링 및 관리가 가능합니다. Kafka Manager Web Kafka Manager 토픽 생성 화면 Kafka Manager 브로커 서버 관리 화면 Kafka manager 컨슈머 관리 화면 [Kafka Monitoring] Prometheus & Grafana 개발서버에 구축된 Kafka 3 Node Cluster의 다양한 정보를 대시보드로 시각화하기 위해 Prometheus로 Kafka 정보를 긁어오고 해당 정보를 데이터 소스로 사용하여 Grafana 대시보드로 표출했습니다. Prometheus로 Kafka 정보를 긁어오기 위해 구축된 세 Kafka에 각각 JMX exporter, Kafka exporter를 구성해야 합니다. JMX exporter는 실행 중인 애플리케이션의 Status를 전송해주는 오픈 에이전트입니다. Kafka exporter는 Kafka 파티션과 토픽의 Status를 전송해주는 오픈 에이전트입니다. JMX exporter, Kafka exporter로 Kafka 각각의 서버 Status가 Prometheus의 Target에 정상적으로 .. Kafka/Zookeeper 3 Node Cluster 개발서버에 Kafka/Zookeeper 3 Node Cluster 구축을 했습니다. (CentOS 7 환경) Kafka 3, Zookeeper 3으로 총 6대 서버가 필요합니다. Kafka란 아파치 재단이 스칼라로 개발한 오픈소스 메세지 브로커 툴입니다. 현재 많은 기관과 기업에서 사용 중인 오픈소스이고 높은 처리량과 낮은 지연시간으로 실시간 작업에 적합한 툴입니다. ▼ Zookeeper 구동 확인 Zookeeper 1 : follower Zookeeper 2 : leader Zookeeper 3 : follower ▼ Kafka 구동 확인 Kafka 1 Kafka 2 Kafka 3 ▼ Kafka Topic에 메세지 전송 및 수신 확인 topic1 메세지 전송 topic1 메세지 수신 이전 1 다음