일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 오준석의생존코딩
- #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 모두의연구소 오준석생존코딩 오름캠프
- 생존코딩
- 모두의 연구소 # 오준석의생존코딩# 오름캠프
- 플러터
- Tag #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- ㅇ
- 패스트 캠퍼스
- 모두연구소
- 오존석의 생존코딩
- 모두의연구소
- 오름캠프플러터
- 오준석의 생존코딩
- 오름캠프
- Today
- Total
꾸준히 하고싶은 개발자
빅데이터 적재 2 -실시간 로그 /분석 적재(Storm,Esper) 본문
Storm
-스톰은 모든 데이터를 인메모리 상에서 병렬 처리하기위한 소프트웨어다.(실시간 스트리밍 데이터 분석 솔루션)
-분산 처리 하기 위한 강력한 기능 (분리,정제 통합,집계 등) 과 아키텍처도 제공한다.
-실시간 분산 처리 유형으로는 데이터 발생과 동시에 처리하는 완전 실시간 방식과 발생한 데이터를 적재한 후 빠르게 배치를 실행하는 마이크로 배치 방식이있다.
-전자에 해당하는 완전 실시간 방식으로 조금의 레이턴시도 허용되지 않는 아키텍처를 적용한다.
-스톰은 지난 2011년 트위터 가 백타이프라는 회사 로 부터 인수했고, 곧바로 오픈소스 프로젝트로 제공했다.
스톰 아키텍처
Nimbus
자바 프로그램 으로 구성된 Topology jar를 배포하기 위해 주키퍼로 부터 Supervisor 정보를 알아낸다.
그후 해당 Topology jar 파일을 각 supervisor에 전송하면 Supervisor 는 해당 Node에서 Worker, Executor를 만들고 spout 과 Bolt가 실행되기 위한 Task 도 할당한다.
Supervisor
Supervisor가 정상적으로 배포되면 External Source Application 1에서 발생한 데이터 가 spout를 통해 유입되기 시작한다. 이를 다시 Bolt가 전달 받아 데이터를 분산 처리 하고 처리 결과는 Bolt를 통해 타깃 시스템인 External Target Application 2 로 전송된다 이때 Task Executor 개수를 증가 시키면서 대규모 병렬 처리가 가능해지고 spout와 Bolt 의 성능이 향상된다.
-스톰 아키텍처 는 매우 견고한 장애 복구 기능도 제공한다.
-특정 supervisor가생성한 worker 프로세스에 심각한 문제가 발생해 종료되면 Supervisor는 새로운 Worker 프로세스를 다시 생성된다.
-처리중 이던 데이터들(튜플) 은 이전 수신지로 롤백되고 Topology가 다시 정상적으로 복구 되면 롤백 시점부터 다시 처리되면서
데이터 정합성을 보장한다.
에스퍼
에스퍼의 경우 실시간 스트리밍 데이터의 복잡한 이벤트 처리가 필요할때 사용하는 룰 엔진이다 .
실시간 스트리밍 데이터의 복잡한 이벤트 처리가 필요할 때 사용하는 롤 엔진아라고 하며 CEP 엔진이라고도 할 수 있습니다.
다양한 조건과 복합적인 이벤트를 하나의 룰로 정의할 수 있으며 CEP를 처리하고 룰을 관리하는 것이 손쉽다고 할 수 있는 자바 라이브러리 프로그램이기 때문에 어플리케이션 응용 프로그램에 설치해서 프로그래밍이 가능합니다.
애플리케이션 서버(톰캣 제이보스, OSGI 스톰 등) 또는 애플리케이션의 컨텍스트에 에스퍼 라이브러리를 설치하고 , 해당 라이브러리를 이용해 CEP 프로그램밍을 하는 단순한 아키텍처를 가지고있다.
에스퍼 EPL(Event processing Language)을 이용해 대규모 분산 아키텍처를 구성할때 는 통합 관리하고 분산노드에 일관되게 적용하기 위해서 복잡한 구성이 필요하다 . 분산된 응용 서버에 에스퍼 엔진을 설치하고 , 에스퍼 엔진들이 동일한 EPL 룰을 동적으로 일관 로딩하기 위해EPL 공유 저장소가 이용된다.
실습
chmod
drwxr-xr-x
d : 파일의 종류 ( - 일반, d 디렉터리 )
drwxr-xr-x 소유자의 권한(User)
drwxr-xr-x 그룹의 권한(Group)
drwxr-xr-x 기타 사용자의 권한(Other)
※ rwx (읽기, 쓰기, 실행) / 권한이 없을 경우 - 로 표기
명령어: chmod 777 -R / 폴더명
명령어:chmod 755 -R / 폴더명
스톰을 실행시키전에 폴더 의 권한을 cmd 터미널등 에서 변경해주어야한다.
세 파일에 대해 아래의 Service/chkconfig 등록 명령을 각각 실행한다.
service storm-nimbus start
service storm-supervisor start
service-storm-ui start
아래의 명령으로 스톰이 정상적으로 작동을 했는지 확인
service storm-nimbus status
service storm-supervisor status
service-storm-ui status
스톰 UI 을 접속해서 스톰의 중요 상태를 모니터링 할 수있다.