이 글은 LS글로벌의 [빅데이터 처리 분석 실무 표준 과정] 교육 중 Hadoop을 Oracle VirtualBox에 설치하는 실습 과정을 AWS에 설치하는 내용으로 정리하였습니다.
[AS-IS]
VM : Oracle Virtualbox + CentOS 6
[TO-BE]
VM : AWS + Amazon Linux AMI 2017.03.1 (HVM), SSD Volume Type – ami-e21cc38c
그리고, 아래와 같이 총 5개의 내용으로 구성되어 있습니다.
1. EC2(Elastic Compute Cloud) 인스턴스 2개 생성
2. 생성된 EC2 인스턴스 접속 방법
3. Hadoop 설치를 위한 기본 환경 설정
4. Hadoop 설치
5. Hive 설치
주의사항
AWS는 Linux t2.micro 1개의 인스턴스 사용시 1개월 실행을 가정하여 12개월 동안 무료로 사용할 수 있습니다.
이번 설치 과정에서는 Linux t2.micro 2개의 인스턴스를 사용하여 Hadoop을 설치할 예정으로 보름(15일) 실행 시 무료입니다. Hadoop 설치 후 해당 인스턴스를 보름(15일) 이상 계속 사용할 경우 요금이 부과될 수 있으니 요금 부과를 원하지 않을 경우 꼭 인스턴스를 Stop 하거나 Terminate 해야 합니다.
1. EC2(Elastic Compute Cloud) 인스턴스 2개 생성
https://aws.amazon.com/ko/ 에 접속하여 우측 상단의 [내 계정] > [AWS Management Console]을 클릭 한 후 이메일 또는 휴대폰 번호와 비밀번호를 입력하고 [보안 서버를 사용하여 로그인]을 클릭하여 로그인을 합니다.
로그인을 하면 AWS services 화면이 보입니다. 우선, 우측 상단 지역 선택 List에서 원하는 지역(Region)을 선택하세요. (현재 위치와 가까운 곳을 선택하는 것이 속도에 이점이 있을 듯 하여 저는 Asia Pacific (Seoul)을 선택하였습니다.)
Region 선택을 완료하였으면 [All Services] > [Compute] > [EC2] 를 선택합니다.
다음 화면 중간에 있는 [Launch 인스턴스] 를 클릭하면 인스턴스를 생성할 수 있습니다. 생성 과정은 단계별로 화면이 전환되면서 진행됩니다.
Step 1: Choose An Amazon Machine Image (AMI)
Amazon Linux AMI 2017.03.1 (HVM), SSD Volume Type을 [Select] 합니다. Amazon Machine Image는 자주 변경되므로 버전의 차이는 있을 수 있습니다.
Step 2: Choose an Instance Type
t2.micro Type(Free tier eligible에 해당하는 Type을 선택해야 과금이 되지 않습니다.)을 선택하고, [Next: Configure Instance Details]를 클릭하여 다음 단계로 진행합니다.
Step3: Configure Instance Details
2개의 인스턴스를 만들기 위하여 Number of Instances 에 2를 입력합니다. 교육 위한 Hadoop 구성은 Name node, Data node 각 1개로 구성되므로 총 2대의 인스턴스가 필요합니다.
Number of Instances : 2
다른 항목은 수정 없이 기본 설정을 유지합니다. [Next: Add Storage]를 클릭합니다.
Step 4: Add Storage
기본 설정된 값들을 수정할 필요가 없습니다. [Next: Add Tags]를 클릭합니다.
Step 5: Add Tags
[Add Tag]를 클릭한 후 Key와 Value 항목에 아래와 같이 입력합니다.
Key : Name Value : LSG
입력을 하였으면 [Next: Configure Security Group] 를 클릭하여 다음 단계로 넘어갑니다.
Step6: Configure Security Group
Security group name은 기본 설정 값을 그대로 사용하겠습니다. (추가가 필요한 Rule은 Hadoop 구성을 위한 과정에서 추가할 수 있습니다.) [Review and Launch] 클릭합니다.
Step7: Review Instance Launch
지금까지 단계별로 진행한 내용을 확인 할 수 있습니다. 확인 후 이상이 없을 경우 최종 [Launch]를 클릭하여 인스턴스를 실행 합니다.
최초 실행 시 아래와 같은 팝업 창이 나타납니다. 첫 번째 리스트에서 [Create a new key pair]를 선택합니다.
Key pair name에는 원하는 name을 입력하면 됩니다. 저는 아래와 같이 입력하였습니다.
Key pair name : LSG
입력 후 [Download Key Pair] 를 클릭합니다.
해당 파일은 생성된 인스턴스 접속 시 꼭 필요하므로 원하는 폴더(안전한 장소)에 저장합니다.
저장 후 [Launch Instances]를 클릭합니다.
Launch Status 화면에서 [View 인스턴스]를 클릭합니다.
아래와 같이 2개의 인스턴스가 생성되어 Initializing 되는 것을 확인할 수 있습니다.
가로 스크롤바를 오른 쪽으로 이동하면 추가 내용도 확인할 수 있습니다. 제일 마지막에 위치한 Security Groups를 Step6 단계에서 생성한 그룹 이름인 launch-wizard-1로 2개의 인스턴스가 동일하게 지정 되어 있는지 확인합니다. 만약 Security Groups가 동일하지 않다면 변경할 인스턴스를 선택 후 [Action] > [Networking] > [Change Security Groups]를 이용하여 동일하게 변경합니다. 2개의 인스턴스를 만든다면 대부분 동일하게 지정될 것입니다.
생성된 인스턴스의 이름을 원하는 이름으로 변경할 수 있습니다. 이 과정에서는 이미 실습하였던 Virtual Box에 생성한 가상머신의 이름과 동일하게 하기 위하여 인스턴스 이름을 변경 합니다.
현재 생성된 인스턴스의 Name이 모두 LSG로 되어 있는데 해당 이름에 마우스 커서를 이동시키면 연필모양의 아이콘이 나타나며, 이를 클릭하면 이름을 바꿀 수 있습니다.
아래와 같이 Name을 변경 합니다.
첫번째 인스턴스 Name: ls1 두번째 인스턴스 Name: ls2
각각의 인스턴스에 대한 IP는 AWS Console 메뉴 [NETWORK & SECURITY] > [Network Interfaces]를 클릭하면 IPv4 Public IP와 Primary Private IPv4 IP를 자세히 확인할 수 있습니다. Private은 Hadoop 구성 시 Name node와 Data node간 통신을 위해 사용하며, Public은 Hadoop 서비스를 외부에서 Web으로 접속할 경우 해당 IP로 접속할 때 사용됩니다.
Windows를 사용하는 PC에서 Public IP대신 특정 hostname을 지정하여 사용하려면, Windows의 시스템 경로 C:\Windows\System32\drivers\etc에 있는 hosts 파일에 추가합니다. 각 Public IP에 Host 이름을 등록합니다. (IP는 생성되는 인스턴스에 따라 다릅니다. 아래 표시된 IP가 아닌 본인이 생성한 IP를 확인해서 등록해주세요.)
13.124.142.172 server1 52.79.95.194 server2
이상으로 2개의 인스턴스 생성을 완료하였습니다.