1 AWS EC2를 활용 스파크 클러스터 생성 1 2 3

AWS 위에 스파크 EC2 클러스터를 생성하는데 flintrock을 사용하여 편리하면서도 신속하게 스파크 EC2 클러스터를 AWS에 생성시킨다. 스파크 EC2 클러스터를 생성, 접근, 중단, 제거한다.

대용량 데이터를 병렬처리하기 위해, 특히 R을 분석언어로 빅데이터를 분석하고자 하는 사람들이 AWS 위에서 간단히 스파크 클러스터를 구축하고자 하는 노력을 많이 하였다. 가장 대표적인 것이 spark-ec2 프로젝트다.

하지만, spark-ec2가 편리성에 초점을 맞춰 개발되고, 특히 현재 저작시점에 ap-northeast-2 서울 리젼에 대한 지원이 되고 있지 않다. ap-northeast-2 seoul region support 관련해서 이슈를 제기하니 다들 flintrock 검토를 추천한다.

Flintrock: A Faster, Better spark-ec2 동영상을 보면 왜 flintrock을 개발하게 되었는지 사례가 나온다. 가장 큰 매력은 속도가 가장 큰 것이고, 이것도 역시 ap-northeast-2 서울 리젼에 대한 이슈가 있는 것으로 파악되어 ap-northeast-1 일본 리젼에 설치를 해본다.

1.1 flintrock 설치 4

flintrock을 설치하려면 우선 파이썬3를 설치한다. 그리고 나서 pip3 팩키지 설치 관리자를 통해 flintrock을 설치한다.

1.3 EC2 스파크 클러스터 생성

위와 같은 준비가 완료되면 그 다음은 클러스터 생성 명령은 간단하다. flintrock launch bigdata-cluster 명령어를 실행하게 되면 config.yaml 파일에 설정된 규칙에 맞춰 bigdata-cluster가 생성된다. spark-ec2 보다 클러스터 생성속도가 무척이나 빠르다. 스파크 클러스터가 생성되고 나면 사용한 후에 중단 시킬 경우 flintrock stop bigdata-cluster 명령어를 사용해서 잠시 멈춘다. 만약 클러스터를 삭제하려고 하는 경우 flintrock destroy bigdata-cluster 명령어를 사용한다.

1.4 EC2 스파크 클러스터 접속

EC2 스파크 클러스터가 생성되면 생성된 클러스터에 접속하여 추가적인 작업을 수행한다. 이에 해당되는 명령어는 두가지 방법이 있다.

  • flintrock login 명령어 사용
  • ssh -i 명령어 사용

flintrock의 저자 Nicholas Chammas가 추천하는 flintrock login bigdata-cluster 명령어를 사용하는 방법은 다음과 같다.

혹은 ssh 명령어를 .pem 파일을 사용해서 접속한다.