deploy spark application

28 March 2020

이전 시간에 만든 예제로 spark application을 실행하는 예제를 살펴보도록 하겠습니다. 예제에서 sbt package로 jar를 생성해주면, target/scala-2.11/spark_kafka_2.11-0.1.jar와 비슷한 위치,이름으로 jar가 생성되는 것을 확인할 수 있습니다. 해당 jar를 spark cluster로 복사해 아래와 같이 실행해줍니다.

read more

from csv to kafka by spark

28 March 2020

Spark를 통해 csv파일을 읽고, 해당 내용을 다시 kafka로 write하는 예제를 알아보도록 하겠습니다. 먼저 아래와 같이 sbt 파일에 dependency를 추가해주도록 합니다. - build.sbt

read more

pivotal summit 2019 seoul 후기

19 November 2019

pivotal summit 2019 seoul에 참관하여 세션을 들을 기회가 있어, 오늘 참석하게 되었습니다. 오전은 business 관련이라, 오후에 technical 세션만 참가하여 연사들의 session을 청취하였습니다. 그 중에서 기억에 남는 세션에 관련하여 후기를 적어보도록 하겠습니다. - Spring into kubernetes kubernetes와 docker의 기본 기능을 소개하고, 어떻게 사용이 가능한지 기본 동작을 시연하였습니다. pod, service, volume의 개념 소개 및 container를 배포하고 kubernetes의 동작을 live coding을 통해 알아볼 수 있었습니다. 그리고 spring-cloud-kubernetes를 통해서, 쉽게 kubernetes와 연동되는 application을 배포하고, circuit breaker 연동, ribbon client를 통한 client-side loadbalancing를 확인 할 수 있었습니다. - Diving into reactive 기본적인 reactive 컨셉 설명과 live coding을 통한 예제 설명이 이어졌습니다. pivotal이 주최하는 spring 관련...

read more

song recommendation system by spark

16 November 2019

cassandra에 노래와 사용자가 선호하는 노래의 정보가 들어있는 상태에서 성향이 비슷한 유저가 듣는 노래를 종합해 추천하는 시스템을 만들어보도록 하겠습니다. 먼저 아래와 같이 해당 곡들의 id를 모아 저장할 accumulator를 만들어줍니다.

read more

spark로 cassandra table scan

10 November 2019

spark와 cassandra가 서로 연동되어 있는 상태에서, spark를 통해서 cassandra에서 scan하는 예제를 알아보도록 하겠습니다. 먼저 아래와 같이 intellij에서 scala project를 만들어주고 sbt를 통해 dependency를 설정해주도록 합니다.

read more

spark로 cassandra insert

09 November 2019

spark와 cassandra가 서로 연동되어 있는 상태에서, spark를 통해서 cassandra에 insert 하는 예제를 알아보도록 하겠습니다. 먼저 아래와 같이 keyspace를 만들어주고, 현재 빌보드를 참고하여 10곡의 노래를 cassandra에 insert구문을 통해 넣어주도록 합니다.

read more

docker로 spark cassandra 연동하기

04 November 2019

먼저 cassandra docker를 다운로드 받도록 합니다. DockerHub에 공식 이미지가 있으니, 아래와 같은 방법으로 다운로드가 가능합니다.

read more

azure image recognition

27 October 2019

먼저 MS Azure에 가입하고, computer-vision에도 구독을 추가하도록 합니다. 그 이후, 본인의 cognitive-service의 subscription key를 확인하고, 해당 key를 통해 아래와 같이 request call을 호출합니다.

read more

azure image recognition by local

27 October 2019

먼저 MS Azure에 가입하고, computer-vision에도 구독을 추가하도록 합니다. 그 이후, 본인의 cognitive-service의 subscription key를 확인하고, 해당 key를 통해 아래와 같이 request 를 해주도록 합니다.

read more

elasticsearch apm 설치 - Docker

05 October 2019

docker를 통해 elasticsearch APM 서버를 연동하는 법을 알아보도록 하겠습니다. 해당 서버를 띄우기 위해서는 elasticsearch, kibana, elasticsearch APM 서버가 필요합니다. 세가지 서버가 서로 연동되어야 하기 때문에, docker network를 생성해주고 해당 network 안에서 서로 호출이 가능하도록 설정합니다.

read more

docker windows volume 설정

01 October 2019

docker를 설치한 이후, 아래와 같이 virtualbox에서 공유 폴더 설정을 해주도록 합니다. 그 이후, 아래와 같이 Boot2Docker 설정을 해주도록 합니다.

read more

kubernetes로 docker image 실행

24 September 2019

쿠버네티스를 사용하여 local에서 docker image를 생성하고 실행하는 방법입니다. 가장 먼저, minikube와 kubectl을 다운로드받고, docker도 local에 설치해줍니다. 이후, 아래와 같이 순서대로 명령어를 실행해주면, application이 배포되고 실행되는 것을 확인할 수 있습니다.

read more

gitlab CI/CD 설정

21 September 2019

gitlab에서 .gitlab-ci.yml 파일을 이용해 CI/CD를 설정하는 방법입니다. - .gitlab-ci.yml image: gradle:5.6.2-jdk8

read more

Loose-Coupled with Framework

07 September 2019

실제 서비스의 업무 규칙과 Framework을 독립적으로 만드는 예제입니다. 이번 예제에서는 Spring과 ratpack 두가지의 framework를 사용하여 만들어 보도록 합니다. 전체적인 구조는 아래와 같이 구성하도록 합니다. 유저의 입력을 받는 각각의 controller [SpringController, RatpackHandler] 실제 업무 규칙만을 포함한 TaskRule [ logService로부터 값을 받아와 TaskRuleService에서 값을 return ] logService를 각각 구현한 Framework의 logService 구현체 [SpringLogServiceImpl, RatpackLogServiceImple] 위와 같이 구현하게 되면 실제 기능을 담당하는 TaskRule은 Framework에 영향을 받지 않고, 동작이 가능하게 됩니다. Spring과 Ratpack에서 각각 위 component를 맵핑하는 코드는 아래와 같이 설정되게 됩니다. - SpringApp.java package org.test.shashaka;

read more

DockerFile 설정

17 August 2019

Docker에서 ubuntu 최신 버전을 이용해, 각종 설치를 진행하는 예제입니다. 아래 예제에서는 java8 및 kafka, spark, cassandra를 설치해보도록 하겠습니다. 먼저 빈 폴더를 만들어준 후, 아래와 같이 DockerFile 을 생성해주도록 합니다. DockerFile:

read more

Signing HTTP Messages

28 July 2019

개요 HTTP 프로토콜을 사용하여 인터넷을 통해 통신을 하는 경우,서버 또는 클라이언트는 특정 메시지에 대해 보낸 사람을 인증하는 것이 바람직합니다. 또한, 전송 중에 메시지가 변조되지 않았는지 확인하는 것 역시 권장됩니다. 이 문서에서는 서버와 클라이언트가 디지털 서명을 사용하여 HTTP 메시지에 인증 및 메시지 무결성을 동시에 추가하는 방법에 대해 설명합니다.

read more

새로운 시작

Shashaka | 11 March 2018

todayleave에서 blogger로 처음 블로그를 시작하다가 새로이 github 블로그로 옮기게 되었습니다. jekyll 테마로 블로그를 꾸미는 느낌이 마치 내 집을 새로이 리모델링하는 느낌이어서 설레이는 마음으로 오늘도 늦게까지 글을 쓰고 있습니다. 앞으로 다양하고 재미있는 내용으로 소통을 이어가려고 합니다. 많은 방문 부탁드립니다~^^

read more