일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Cluster
- gradle
- Jenkins
- aws
- 간단
- 젠킨스
- fastcampus
- Redis
- 자동
- 설정
- 머신러닝
- vue
- 클러스터
- Mac
- ec2
- 로그인
- 예제
- Kafka
- 자바
- login
- java
- SpringBoot
- redash
- 레디스
- EMR
- Zeppelin
- hive
- Docker
- config
- spring
- Today
- Total
코알못
[AWS] EMR(hadoop) - 클러스터 고정 IP 지정 해보자! 본문
EMR 클러스터 생성시 EC2와 다르게 일시 정지 기능이 없어
요금 절약을 위해 클러스터를 종료하고 생성 하게 됩니다.
종료 하고 생성시 마다 IP가 계속적으로 변경되어
BI 툴(redash 등) 에서 hive 접속시 IP 설정을 계속적으로 변경해야 하여 서비스 사용자가 불편함을 겪게 되는 문제가 있습니다.
이를 해결 하기 위해 EMR 클러스터에 고정 IP를 할당하려고 하며 그 방법은 아래와 같다.
우선 GIT 에서 아래 파일을 다운 받는다.
https://github.com/awslabs/aws-support-tools/blob/master/EMR/Assign_Private_IP/assign_private_ip.py
해당 스크립트를 S3 버킷에 저장한뒤 해당 스크립트를 부트스트랩이나 STEP에 등록하여 실행하면 고정 IP가 할당 된다고 가이드 되어 있다.
우선 해당 파이썬 스크립트에 있는 명령어 실행에 필요한 권한 및 설정을 해줘야 한다.
1. EMR > EC2 접근 권한
- 설정 방법 : IAM > 역할 > EMR_EC2_DefaultRole > 권한 추가 > 정책 연결 > AmazonEC2FullAccess 를 연결
만약 FullAccess 권한을 부여하시기를 원하지 않으신다면, 인라인 정책 으로 ec2:AssignPrivateIpAddresses 만 추가해도 된다.
2. EMR 이 private 망일시 EC2 접근을 위한 VPC EC2 엔드포인트 추가
아래 처럼 EMR 생성후 해당 서버에서 명령어 입력시 keypair 가 있음에도 불구하고 나오지 않는다면 엔드 포인트 설정을 해야한다.
$ aws ec2 describe-key-pairs
{
"KeyPairs": [
{
"Tags": [],
"KeyName": "test-test",
"KeyFingerprint": "...",
"KeyPairId": "key-..."
},...
{
"Tags": [],
"KeyName": "test",
"KeyFingerprint": "..",
"KeyPairId": "key-.."
}
]
}
- VPC > 엔트포인트 > 엔드포인트생성
생성 완료시 아래와 같이 정상적으로 생성 됐음을 확인 할 수 있다.
이제 EMR 생성을 해보자!
EMR 생성시 부트스트랩을 이용하였으며 아래와 같이 입력한다.
- 스크립트 위치 : S3 에 저장한 assign_private_ip.py 파일
- 선택적 인수 : [사용할 고정 IP] [region]
생성 완료후에 EC2 에 가서 해당 EMR 마스터 노드 EC2 를 찾는다.
해당 EC2 정보에 네트워킹 부분을 보면 아래 '보조 프라이빗 IPv4 주소'가 인수로 넘긴 고정 IP 로 생성 된 것을 볼 수 있으며
해당 보조 프라이빗 IP로 요청시 마스터 노드로 요청이 되어 고정 IP 처럼 이용할 수 있다.
아래와 같이 확인 한다.
고정 IP 로 접속 하였으나 실제 접속된 서버는 실제 마스터 IP 인것을 확인 할 수 있다.
$ ssh -i test.pem hadoop@고정IP
EEEEEEEEEEEEEEEEEEEE MMMMMMMM MMMMMMMM RRRRRRRRRRRRRRR
E::::::::::::::::::E M:::::::M M:::::::M R::::::::::::::R
EE:::::EEEEEEEEE:::E M::::::::M M::::::::M R:::::RRRRRR:::::R
E::::E EEEEE M:::::::::M M:::::::::M RR::::R R::::R
E::::E M::::::M:::M M:::M::::::M R:::R R::::R
E:::::EEEEEEEEEE M:::::M M:::M M:::M M:::::M R:::RRRRRR:::::R
E::::::::::::::E M:::::M M:::M:::M M:::::M R:::::::::::RR
E:::::EEEEEEEEEE M:::::M M:::::M M:::::M R:::RRRRRR::::R
E::::E M:::::M M:::M M:::::M R:::R R::::R
E::::E EEEEE M:::::M MMM M:::::M R:::R R::::R
EE:::::EEEEEEEE::::E M:::::M M:::::M R:::R R::::R
E::::::::::::::::::E M:::::M M:::::M RR::::R R::::R
EEEEEEEEEEEEEEEEEEEE MMMMMMM MMMMMMM RRRRRRR RRRRRR
[hadoop@ip-실제마스터IP ~]$
끝!
- 참고 문서 : https://aws.amazon.com/ko/premiumsupport/knowledge-center/static-private-ip-master-node-emr/
'BIG DATA' 카테고리의 다른 글
[Redash] Ldap 연동 해보자! (0) | 2022.05.08 |
---|---|
filebeat에서 다중 logstash 서버로 로그 이동시 한대 재기동시? (0) | 2022.04.29 |
[AWS] EMR(hadoop) - Step Function 이용해보자! (0) | 2022.04.27 |
[AWS] 서비스 private 로 구성시 다른 서비스 연결 방법 (0) | 2022.04.27 |
[ Zeppelin] JDBC 인터프리터를 추가 해보자! (0) | 2022.04.18 |