AWS EMR은 하둡관련 패키지를 AWS를 통해 설치하고 프로비져닝하는 도구입니다. 이 도구를 활용하면 매우 빠르게 hadoop, spark 등의 빅데이터 클러스터를 구축할 수 있는데요. 오늘은 이렇게 만든 EMR 클러스터에서 3rd party python library사용을 위한 설치 스크립트를 적용해보겠습니다.
저같은 경우는 pyspark를 자주 사용하는데요. pyspark사용할 경우 추가 pip3라이브러리를 사용해야할 때가 있습니다. pip3 라이브러리를 pyspark로 실행할 경우 스파크가 배포되는 모든 인스턴스에 해당 라이브러리가 설치되어 있어야합니다.
EMR에는 bootstrap action이라고 하는 인스턴스 생성할때 실행할 수 있는 스크립트를 지정할 수 있습니다. 여기에 스크립트를 추가하여 인스턴스 생성시 pip3로 python 암호화 라이브러리를 설치하겠습니다.
Bootstrap actions are scripts that are executed during setup before Hadoop starts on every cluster node. You can use them to install additional software and customize your applications.
사용자 정의 액션은 쉘스크립트로 추가할 수있는데요. 스크립트는 s3에 저장된 파일을 기준으로 설정할 수 있스빈다. 미리 스크립트를 생성하여 s3경로로 지정하면됩니다.
#!/bin/bash -xe
sudo pip3 install pycryptodome
저같은 경우엔 암호화를 위해 pycryptodome을 사용하였습니다.
이제 생성 준비가 완료되었습니다. 클러스터 인스턴스가 새로 만들어질때 마다 위 스크립트가 실행되면서 파이썬 라이브러리를 설치합니다. 설치가 완료되면 각 서버에 라이브러리가 설치된 것을 확인할 수 있습니다.
EMR이 이미 만들어진 상태에서 설치하는 방법은 아래 링크를 참고해주세요.
반응형
'개발이야기 > AWS' 카테고리의 다른 글
EC2 에 있는 파일 로컬로 다운로드 받기 (0) | 2020.10.27 |
---|---|
openjdk의 cacert 확인 (0) | 2020.09.16 |
EMR 노트북에서 secret manager의 비밀키 조회하기 (0) | 2020.07.30 |
AWS VPC지정을 위한 CIDR 형식 주소값 계산 방법 (0) | 2020.07.28 |
AWS EMR클러스터에서 사용할 수있는 주피터 생성하기(EMR 노트북) (1) | 2020.07.09 |
소규모 스파크 사용을 위한 AWS EMR 클러스터 생성하기 (2) | 2020.07.09 |