일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- SBT
- Angular2
- design pattern
- spark
- apache storm
- 스프링 배치
- Java
- Domain Driven Design
- hdfs
- Spring XD
- nginx
- intellij
- elastic search
- 도메인주도설계
- 엘라스틱서치
- Linux
- Hbase
- 제주
- DDD
- Spring
- elasticsearch
- Storm
- hibernate
- Spring Batch
- Spring Boot
- Clean Code
- scala
- hadoop
- Gradle
- docker
- Today
- Total
목록Programming/Storm (6)
욱'S 노트
Trident는 스톰 위에서 실시간 집계를 수행하기 위한 하이레벨 추상화이다. 이것은 끊김없이 대용량 처리를 가능하게 해준다.(초당 수백만의 메시지) 지연없는 분산쿼리를 통해 스테이트풀 스트림 프로세싱을 가능하게 한다. Pig나 Cascading과 같은 고수준의 배치 프로세싱 툴에 친숙하다면 Trident의 개념은 매우 유사하다. Trident는 joins, aggregations, groupings, functions, filters 연산을 수행할 수 있다. 트라이던트는 어떤 데이터베이스 또는 퍼시스턴트 스토어의 위에서 스테이풀하고 인크리멘탈 프로세싱을 주로 처리하기 위해 추가되었다. Trident는 일관성 있고, 정확하고 쉽게 수행된다. Illustrative example 트라이던트에 관한 실증적인..
프로덕션 클러스터에서 토폴로지를 실행하는 것은 로컬 모드와 유사하다. 다음과 같은 스텝을 따른다. 1) 토폴로지를 정의한다. 2) 클러스터에 토폴로지를 서브밋하기 위해 StormSubmitter를 사용한다. StormSubmitter는 토폴로지의 이름, 토폴로지 설정 그리고 토폴로지를 입력받는다. 예제는 다음과 같다. Config conf = new Config();conf.setNumWorkers(20);conf.setMaxSpoutPending(5000);StormSubmitter.submitTopology("mytopology", conf, topology); 3) 코드와 코드에 모든 디펜던시를 포함한 jar를 만든다. (storm 관련 jars는 워커 노드에 의해 제공되니 제거한다.) 만약 메이븐..
이번 페이지에서는 스톰의 메인 컨셉을 나열해보고 더 자세한 정보를 제공에 대한 링크를 제공할 것이다. 논의될 컨셉은 다음과 같다. TopologiesStreamsSpoutsBoltsStream groupingsReliabilityTasksWorkersTopologies 실시간 어플리케이션을 위한 로직은 스톰 토폴로지로 패키징 된다. 스톰 토폴로지는 맵리듀스 작업과 유사하다. 하나의 주요한 차이점은 맵리듀스 작업은 결국에는 종료되는 반면 토폴로지는 항상 수행중이다는 것이다. 토폴로지는 spout과 bolt의 stream grouping으로 연결된 그래프이다. Streams 스트림은 스톰의 핵심 추상화이다. 스트림은 투플의 일관되지 않는 순서이다. 투플은 분산환경에서 병렬로 처리되고 생성된다. 스트림은 스키..
이번 페이지는 어떻게 스톰 개발환경을 세팅하는 지에 대해 설명한다. 요약하면 스텝은 다음과 같다. 스톰 릴리이즈를 다운로드하고 압축을 해제한다. PATH 환경변수에 bin 디렉토리를 등록한다.리모트 클러스터에 있는 토폴로지를 시작하고 종료하기 위해서 클러스터 정보를 ~/.storm/storm.yaml를 넣는다.각 스텝의 자세한 내용은 아래와 같다. What is a development environment? 스톰은 두가지 모드를 가지고 있다. : 로컬 모드와 리모트 모드. 로컬 모드에서는 로컬머신에서 토폴로지를 개발하고 완전히 테스트하는 것을 가능하게 한다. 리모트 모드에서는 클러스터 머신에서 토폴로지를 보내 실행할 수 있게 한다. 스톰 개발 환경은 로컬 모드에서 토폴리지를 개발하고 테스트할 수 있는 ..
이번 튜토리얼에서는 어떻게 스톰 토폴로지를 만들고 스톰 클러스터에 배포하는지에 대해서 배울 것이다. 자바를 메인 언어로 사용할 것이지만 몇가지 예제는 파이썬을 사용할 것이다. Preliminaries 이번 예제는 storm-starter 프로젝트에 있다. 예제를 따라하기 위해 프로젝트를 클론하는 것을 추천한다. 먼저 개발 환경 세팅하는 법을 일고 수행하고 새로운 스톰 프로젝트를 머신에 셋업하라. Components of a Storm cluster 스톰 클러스터는 표면적으로 보면 하둡 클러스터와 닮았다. 하둡은 맵리듀스 작업을 실행하는 반면에 스톰은 토폴로지를 실행한다. Job과 topology는 매우 다르다. 가장 주요하게 다른 점은 맵리듀스는 결국은 작업이 끝나는 반면, 토폴로지 영원히 메시지를 처리..
이번 페이지는 스톰 클러스터를 세팅하고 실행시키는 스텝에 대한 개요이다. 만약 AWS환경이라면 storm-deploy 프로젝트를 체크아웃을 해야한다. storm-deploy를 완전히 EC2에 스톰 클러스터를 자동적으로 설정하고 세팅할 수 있다. 또한 당신이 CPU, disk, 네트워크 사용량을 모니터할 수 있도록 Ganglia도 세팅해줄 것이다. 만약 스톰 클러스터를 세팅하다가 어려움에 빠진다면 트러블슈팅 페이지를 참고하라. 그래도 안되다면 메일링 리스트로 메일하라. 스톰 클러스터를 세팅하는 스텝을 요약해보면 다음과 같다.주키퍼 클러스터를 셋업하라.Nimbus와 worker 머신에 디펜던시를 인스톨하라.스톰릴리즈를 다운로드해서 nimbus와 worker 머신에 압축해제하라.storm.yml에 필수 설정을..