Prometheus - 간략 개요
·
DataPipeline/Prometheus
[ 프로메테우스란? ]Prometheus는 오픈 소스 시계열 데이터베이스 및 모니터링 시스템주로 애플리케이션과 시스템의 성능을 모니터링하고 경고를 생성하는 데 사용즉, Prometheus는 시스템의 상태를 실시간으로 추적하고 문제를 조기에 발견할 수 있도록 도와주는 어플리케이션  [ 프로메테우스 데이터 저장 ]프로메테우스는 레코드를 수집하고 나서 해당 레코드 데이터를 즉시 스토리지에 저장하지 않는다.인메모리 버퍼에 잔뜩 들고 있다가,새로 들어온 레코드가 현재 메모리 페이지의 크기를 32KB가 넘어가게 만드는 경우현재 페이지를 WAL 파일에 Flush 한다.즉, 일차적으로 데이터를 메모리에 저장하는 것을 원칙으로 하되, 나름 주기적으로 WAL 파일에 백업하는 셈이다. 이렇게 저장되는 데이터 공간을 일반적으..
스파크완벽가이드 - 21장 구조적 스트리밍의 기초
·
DataPipeline/Spark
21.1 구조적 스트리밍의 기초구조적 스트리밍의 핵심 아이디어는 스트림 데이터를 데이터가 계속해서 추가되는 테이블처럼 다루는 것필요한 경우 상태 저장소(state store)에 있는 일부 상태를 갱신해 결과를 변경API 핵심은 배치처리나 관련되 쿼리 구문을 변경하지 않아도 된다는 것DataFrame도 스트리밍 방식으로 동작할 수 있음  21.2 핵심 개념트랜스포메이션과 액션- 몇 가지 제약 사항이 증분 처리를 할 수 없는 일부 쿼리에 있음- 연속적으로 처리해 결과를 출력하는 한 가지 액션만 있음  입력 소스- 아파치 카프카 0.10버전 ( spark.2.2 )- HDFS, S3 등 분산 파일 시스템의 파일- 테스트용 소켓 소스 싱크( Sink )싱크로 스트림의 결과를 저장할 목적지를 명시 - 아파치 카프..
스파크완벽가이드 - 20장 스트림 처리의 기초
·
DataPipeline/Spark
20.1 스트림 처리란연속형 애플리케이션(Continuous Processing)기존의 Spark Streaming은 마이크로 배치 방식으로 동작, 그러나 저지연 처리가 필요한 애플리케이션에는 한계나머지 컴포넌트와 쉽게 연동할 수 있어야 하여 '연속형 애플리케이션' 이란 개념을 추가연속적인 데이터 처리를 가능하게 하기 위해 Spark 2.3에서 추가 됨 주요 특징저지연 처리밀리초 단위의 지연 시간을 제공End-to-End Exactly-Once Semantics데이터 소스에서 싱크까지 데이터를 중복 없이 정확히 한 번만 처리통합된 APIStructured Streaming API를 사용하여 "연속 처리 모드"와 기존 "마이크로 배치 모드"를 모두 지원 예제trigger(processingTime="1 s..
스파크완벽가이드 - 18장 모니터링과 디버깅
·
DataPipeline/Spark
18.1 모니터링 범위스파크 애플리케이션과 잡- 스파크 UI와 스파크 로그를 확인해야 함 JVM- 스택 트레이스(stack trace)를 제공하는 jstack- heap dum를 생성하는 jmap- 다양한 JVM 속정 변수를 시각화된 방식으로 탐핵하는 jconsole- 저수준 디버깅이 필요하다면 JVM 도구가 용이 OS와 머신- JVM은 host OS에서 실해됨- CPU, Network, I/O resource 를 모니터링 클러스터- YARN, 메소스 등 스파크 애플리케이션이 실행되는 클러스터도 모니터링   18.2 모니터링 대상[1] 드라이버와 익스큐터 프로세스- 스파크 드라이버는 모든 애플리케이션의 상태가 보관되어 있음- JVM 기반 애플리케이션의 메트릭을 수집/보고하는 Dropwizard Metri..
스파크완벽가이드 - 17장 스파크 배포환경
·
DataPipeline/Spark
2017.12월 기준으로 세 가지 클러스터 매니저를 지원- standalone mode- hadoop yarn- apache mesos 17.1 스파크 애플리케이션 실행을 위한 클러스터 환경설치형 클러스터 (on-premise cluster)- 사용 중인 하드웨어를 완전히 제어할 수 있으므로 특정 워크로드의 성능을 최적화- 고정된 자원 - 자체 파일 저장소( ex.HDFS )를 운영해야하므로 관리포인트가 늘어남- 자체 파일 저장소를 운영하므로 백업, 가용성 체계도 필요함 공개 클라우드 (public cloud)- 필요할 때만 자원을 늘리고 줄일 수 있음 ( ex. AWS EMR, EC2 )- 백업, 복제, 가용성을 자동적으로 지원함- 파일 저장소를 사용하지 구축하지 않아도 다양한 저장소를 지원함 ( ex..
스파크완벽가이드 - 16장 스파크 애플리케이션 개발하기
·
DataPipeline/Spark
16.1 파이썬 애플리케이션 작성하기- spark-sumit을 통한 spark 실행from __future__ import print_functionif __name__ == '__main__': from pyspark.sql import SparkSession spark = SparkSession.builder \ .master("spark://0.0.0.0:7077") \ .appName("Word Count") \ .config("spark.eventLog.enabled", "true") \ .config("spark.eventLog.dir", "file:///opt/homebrew/Cellar/apache-spark/3.5.1/tmp/s..
스파크완벽가이드 - 15장 클러스터에서 스파크 실행
·
DataPipeline/Spark
15.1 스파크 애플리케이션의 아키텍처스파크 드라이버- 드라이버는 스파크 애플리케이션의 실행을 제어하고 상태 정보(익스큐터 상태 및 태스크)를 유지- 물리적 컴퓨팅 자원 확보- 클러스터 매니저와 통신 스파크 익스큐터- 익스큐터는 스파크 드라이버가 할당한 태스크를 수행하는 프로세스- 태스크를 수행하고 태스크의 상태를(성공 및 실패)를 드라이버에 보고 클러스터 매니저- 클러스터 매니저는 스파크 애플리케이션을 실행할 클러스터 머신을 유지- 스파크가 실행될 때 클러스터 매니저에 자원할당을 요청- 클러스터 매니저는 '마스터'와 '워커'의 개념이 있음- 개별 워커노드를 실행하는 데몬 프로세스- 스파크가 지원하는 클러스터 매니저standalone cluster managerapache mesoshadoop yarn ..
스파크완벽가이드 - 14장 분산형 공유 변수
·
DataPipeline/Spark
스파크 저수준 API는 RDD외에도 분산형 공유 변수가 있음분산형 공유 변수는 두개의 타입이 존재브로드캐스크 변수어큐뮬레이터 14.1 브로드캐스트 변수- 모든 워커 노드에 큰 값을 저장하여 재전송 없이 많은 스파크 액션을 재사용- 브로드캐스트 변수는 클러스터의 모든 워커 노드에 큰 데이터를 효율적으로 공유하기 위해 사용- 일반적으로 읽기 전용 변수로 사용되며, 각 노드에 한 번만 전송되므로 네트워크 비용을 절감- 브로드캐스트할 구조체 변수 생성supplementalData = { "Spark":1000, "Definitive":200, "Big":-300, "Simple":100}suppBroadcast = spark.sparkContext.broadcast..
wave35
'DataPipeline' 카테고리의 글 목록 (4 Page)