일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Angular2
- DDD
- 스프링 배치
- hdfs
- Linux
- spark
- Spring Boot
- Hbase
- elasticsearch
- docker
- nginx
- Spring Batch
- 엘라스틱서치
- Gradle
- elastic search
- intellij
- Spring
- 제주
- 도메인주도설계
- Clean Code
- hadoop
- apache storm
- design pattern
- Java
- hibernate
- scala
- SBT
- Spring XD
- Domain Driven Design
- Storm
- Today
- Total
목록Programming (135)
욱'S 노트
각 컴포넌트 설치elasticsearch & logstash & filebeat 설치설치는 간단하다. 자세한 설명은 하지 않겠다. elastic 공식 사이트로 접속하여 스테이블한 tar파일을 받아서 로컬의 적절한 경로에 압축 해제 하면 된다. 각 컴포넌트 구동 및 설정elasticsearch 구동결과적으로 elasticsearch에 데이터를 저장하므로 먼저 elasticsearch를 구동한다. 가장 심플하게 설치디렉토리로 가서 아래의 커맨드로 구동한다../elasticsearchingestion with filebeatfilebeat는 파일의 변경을 수집하여 logstash로 전달하는 역할을 담당한다. 가장 filebeat를 압축해제한 디렉토리를 보면 filebeat.yml 설정파일이 존재하는데 다음과 ..
어플리케이션 서브밋 스파크 서브밋 스크립트는 스파크 bin 디렉토리 하위에 위치하며 클러스터 상에 어플리케이션을 구동하기 위해서 사용된다. 해당 스크립트는 스파크가 지원하는 모든 클러스터 매니저에서 사용되며 모든 클러스터에 대한 단일한 인터페이스를 제공한다. 어플리케이션 번들 일반적으로 어플리케이션은 다른 프로젝트에 디펜던시를 가진다. 그리고 우리는 스파크 클러스터에 어플리케이션을 구동하기위해 코드 뿐만 아니라 그 디펜던시도 필요하다. 이를 위해 어플리케이션 코드와 디펜던시는 함께 assembly jar(혹은 uber jar)로 함께 패키징되어야 하며, 그 방법은 sbt, maven 등 다양한 빌드툴에서 제공한다. 해당 내용은 여기서 다루지 않겠다. 어플리케이션 구동하기 어플리케이션 번들이 준비되면 bi..
플러그인이란 무엇인가? 플러그인은 공통적으로 사용할 수 있는 확장된 빌드 정의이다. 새로운 세팅은 새로운 타스크를 만들수 있다. 예를 들어 플러그인을 추가함으로써 codeCoverage 타스크를 추가할 수 있다. 이를 통해 테스트 커버리지 리포트를 생성할 수 있다. 플러그인 정의하기 hello라는 프로젝트가 있다고 가정하고 플러그인을 추가하고 싶다면 먼저 hello/project/assembly.sbt라는 파일을 생성하고 해당 파일에 아래와 같이 기입한다. 또 한가지 방법으로는 hello/project/plugins.sbt에 아래와 같이 기입해도 된다. addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4") 또 주의할 점은 모든 플러그인이 기본 리파지토리에 ..
연관된 서브프로젝트들을 하나의 빌드로 유지할 수 있다. 각 서브프로젝트들은 자신만의 소스 디렉토리를 가지고 있고 패키징을 수행하면 각각의 jar 파일이 생성된다. 프로젝트는 Project 타입의 lazy 값으로 정의된다. 예를들면 다음과 같다. lazy val util = (project in file("util")) lazy val core = (project in file("core")) val의 이름은 서브 프로젝트의 아이디로 사용된다. 공통 세팅 멀티 프로젝트를 위한 공통 세팅은 아래와 같이 적용할 수 있다. lazy val commonSettings = Seq( organization := "com.example", version := "0.1.0-SNAPSHOT", scalaVersion :=..
라이브러리 디펜던시를 추가하는 방법에는 두가지 방법이 있다. unmanaged dependencies는 라이브러리는 lib 디렉토리에 저장하다. managed dependencies는 build definition에 설정하고 자동으로 리파지토리로부터 다운로드 된다. 대부분의 경우 managed dependencies를 사용하므로 사용법에 대해서 살펴보자. Managed Dependencies sbt에서는 기본적으로 Apache Ivy를 리파지토리로 사용한다. The libraryDependencies key 우리는 librayDependencies key에 디펜던시 리스트 추가함으로써 디펜던시 정의를 할 수 있다. libraryDependencies += groupID % artifactID % revi..
빌드정의 sbt version 빌드에서 사용할 sbt의 버전을 project/build.properties에 명시할 수 있다. sbt.version = 0.13.13 build definition build definition은 build.sbt 파일에 정의된다. 가장 기본적인 정의는 다음과 같다. lazy val root = (project in file(".")) .settings( name := "hello-sbt", organization := "com.example", scalaVersion := "2.12.1", version := "0.1.0-SNAPSHOT" ) 필요한 세팅 값을 아래와 같은 규칙에 따라 세팅한다. 좌측은 키이다. 오퍼레이터 이번 케이스는 := d이다. 우측은 바디라고 불린..
sbt는 스칼라와 자바를 위한 빌드툴이다. 스칼라를 사용하다보면 자주 접하게 되므로 간단한 사용법을 파악해보자. 설치하기 sbt는 이 문서를 작성하는 기준으로 0.3.13이 최신버전이며 jre 1.6이상의 환경을 요구한다. 설치방법은 굉장히 간단하다. 공식사이트에서 zip이나 tgz로 압축된 배포본을 다운로드 받을 수 있다. 로컬로 다운받은 다음 적절한 위치에 압축을 해제하자. 압축을 해제한 후 bin 디렉토리 하위에서 아래와 같은 커맨드를 수행해서 정확히 설치되었는지 여부를 확인해보자. $ sbt sbt-version [info] Set current project to bin (in build file:/Users/devsun/dev/sbt-0.13.13/bin/) [info] 0.13.13 인텔리J..
이번에는 클러스터 모드의 스파크를 기동해보겠다. 먼저 가장 단순한 형태인 StandAlone 클러스터를 구축해보고 클러스터 상에서 스파크 작업을 수행하는 것을 목표로 한다. 다운로드 스파크 공식 사이트의 다운로드 페이지(http://spark.apache.org/downloads.html )에서 적당한 스파크를 버전을 다운로드 받은 후 로컬PC의 적당한 디렉토리에 압축해제를 해보자. $ ls -al total 112 drwxr-xr-x@ 16 devsun staff 544 12 16 11:18 . drwxr-xr-x 36 devsun staff 1224 2 17 10:14 .. -rw-r--r--@ 1 devsun staff 17811 12 16 11:18 LICENSE -rw-r--r--@ 1 devs..
개요 This document gives a short overview of how Spark runs on clusters, to make it easier to understand the components involved. Read through the application submission guide to learn about launching applications on a cluster. 이장에서는 Spark가 클러스터에서 어떻게 동작하는지를 살펴보고 각 컴포넌트들이 어떻게 참여하는지 알아본다. Components 스파크 어플리케이션은 클러스터상의 독립적인 프로세스에서 수행된다. 이때 일련의 프로세스들은 드라이버 프로그램의 SparkContext 객체와 협력하게 된다. 클러스터상의 실행을 위..
스파크에서 RDD는 가장 주요한 개념이다. RDD는 병렬로 수행될 수 있는 엘리먼트의 컬렉션이며, fault-tolerant하다. 앞에서 보았듯이 RDD를 생성하는 방법은 두가지이다. 첫번째는 내부의 컬렉션으로 부터 생성하는 방식이며 두번째는 외부의 리소스로부터 생성하는 방법이 있다. 내부컬렉션으로부터 생성 아래와 같이 간단한 프로그램을 작성해보자. object RddCollectionTest { def main(args: Array[String]): Unit = { val sc = new SparkContext(new SparkConf().setAppName("RddCollectionTest").setMaster("local")) val data = Array(1,2,3,4,5) val distData..