1-1. Spark 설치 with Aws
EMR
AWS EMR Spark Zeppelin 설치 방법을 소개합니다.
Create pem
-
AWS → EC2 → Network and Security → Key pair → create Key Pair
Create Cluster
-
AWS → EMR 검색 →Cluster → Create Cluster
빠르게 하는 법
- Spark
- Memory
- Security
상세하게 하는 법
-
AWS → EMR 검색 →Cluster → Create Cluster → Go to Advanced Option
-
Enter configuration → 필요한 Jar 파일등이나 Config 옵션을 추가하여 줍니다.
1 2 3 4 5 6 7 8 9 10 11
[ { "classification": "spark-defaults", "properties": { "spark.jars": "s3://mongo-spark-connector_2.11-2.4.3_final.jar,s3://tech-platform/spark/spark-jar/mongo-java-driver-3.12.8.jar" }, "configurations": [ ] } ]
-
각 노드 별 사양과 몇개의 노드를 생성할 것인지 설정
-
Cluster 이름을 설정하여 줍니다.
- 차후에 연결을 위하여 위에서 세팅한 PEM 키를 설정하여 줍니다. 링크
-
EMR role은 Default 옵션으로 설정하였습니다.
-
생성하면 아래와 같이 보여야 정상입니다.
Enable an SSH Connection
step1. Open Tunnel
- 접속할 PC에서 Enable an SSH Connection 눌러 줍니다.
- 아래 그림과 같이 링크의 값을 복사하여 줍니다.
- local의 pem 파일 위치에서 커맨드 날려줍니다.
1
2
# Open an SSH Tunnel EMR
$ ssh -i ~/wclub-server.pem -ND 8157 hadoop@ec2-52-79-228-53.ap-northeast-2.compute.amazonaws.com
Step2. Access Zeppelin
- https://chrome.google.com/webstore/category/extensions
-
Install Proxy SwitchyOmega
- New profile → profile name, pac profile 선택 → pac script → 아래 코드 포트 번호 맞추어 입력
- AWS → EMR → Cluster → Application → User interface URL → Zepplin → URL 복사
-
URL → 우측 상단 Proxy 설정 → 접속
1 2 3 4 5 6 7 8 9 10
function FindProxyForURL(url, host) { if (shExpMatch(url, "*ec2*.amazonaws.com*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*ec2*.compute*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "http://10.*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*10*.compute*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*10*.amazonaws.com*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*.compute.internal*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*ec2.internal*")) return 'SOCKS5 localhost:8157'; return 'DIRECT'; }
참조