장비가 넉넉하지 못하여 VirtualBox에서 Spark Clustering을 구성하여 테스트를 진행하게 되었다. 다른 분들이 올려주신 예제들은 모두 큰 도움은 되었지만 딱 Spark 관련 설정들만 설명해주셔서 나처럼 떠먹여 줘야 할 수 있는 사람들이 보고 따라하기엔 너무나도 힘든 여정들이었다. 그래서 VirtualBox 네트워크 설정부터 Livy로 remote에 구축된 spark clustering에 작업을 요청하는 것까지 총 3개의 글에 걸쳐 상세하게 다시 정리해보았다.
예시로 사용된 guest OS는 Ubuntu16.04며 이미 guest OS 생성은 완료되어 있다고 가정한다. 참고로 생성할 때 디스크와 메모리 용량을 낭낭하게 잡아두는 것을 추천한다. 아무 생각 없이 기본 설정대로 만들었다가 용량이 부족해서 anaconda도 제대로 설치가 안 됐었다😇. 실험은 master node 1개, slave node 2개로 총 3개의 node에서 진행한다.
Configuration guest OS Network
Virtual network의 종류
Host-Only
외부와 단절된 내부 네트워크다. 구성된 guest machine들끼리만 통신이 가능하다.
NAT(Network Address Translation)
host PC로부터 ip를 할당받아 guest machine 프로그램이 자체 DHCP 서버를 띄워 내부 네트워크 대역 할당 및 통신을 한다. host PC를 통해 외부 네트워크와 통신이 가능하다.
Bridge
공유기로부터 ip를 할당받아, host PC와 동일한 네트워크 대역의 ip를 갖게 된다. 공유기를 통해 외부 네트워크와 통신이 가능하다.
Guest machine network 추가
Clustering 구성을 위해서는 각 가상머신들끼리의 통신이 원활해야 하며, 설치 파일들을 쉽게 다운받기 위해서는 외부 네트워크(인터넷이 연결된 네트워크)와 통신이 필요하다. 그래서 Host-Only와 NAT 2개의 어댑터를 뽑는다.
총 3개의 node(=가상머신)에서 테스트를 진행할 예정이며, 어댑터 추가는 모든 node에서 반복한다.
어댑터 1 - NAT
네트워크 설정을 시작하기 전에 guest machine은 종료한다. 그리고 guest machine의 설정에서 네트워크 탭에 들어간다.
어댑터 설정에서 NAT을 선택한다.
어댑터 2 - Host-Only
어댑터 2 탭에서 어댑터 사용하기를 체크하면 새로운 어댑터를 추가할 수 있다. 여기서 호스트 전용 네트워크를 선택한다.
호스트 전용 네트워크 설정
Tools(VirtualBox 버전에 따라 전역도구) 탭에서 호스트 전용 네트워크 속성을 지정한다.
수동으로 어댑터 설정을 선택한 후 IPv4 주소에 192.168.56.1, IPv4 서브넷 마스크 값인 255.255.255.0을 입력한다. 그리고 DHCP 서버는 체크 해제해야 한다.
Guest machine에서 ip 설정
그리고 guest machine에 접속해서 ip 정보를 확인해보면 아래와 같은 상태일 것이다.
여기에 테스트 진행을 위해 각 guest machine의 ip를 아래 값으로 지정한다.
- master node: 192.168.56.2
- worker node #1: 192.168.56.3
- worker node #2: 192.168.56.4
아래 과정을 모든 node에서 ip만 바꿔서 반복한다.
/etc/network/interfaces 수정
address에 guest machine의 ip를 입력해야 한다. 그리고 설정을 적용하기 위해 재부팅한다.
ip addr 명령으로 ip가 잘 지정된 것을 확인할 수 있다.
다른 guest machine에도 ip를 지정한 후에 ping test를 해보면, guest machine들 끼리 통신이 잘 되는것을 확인할 수 있다.
2019/08/30 - [Dev/Spark] - VirtualBox에서 Spark Clustering 구성하기 - (2) Install & port configuration
2019/08/30 - [Dev/Spark] - VirtualBox에서 Spark Clustering 구성하기 - (3) Test Clustering!
Reference
'etc > Spark' 카테고리의 다른 글
VirtualBox에서 Spark Clustering 구성하기 - (3) Test Clustering! (0) | 2019.08.30 |
---|---|
VirtualBox에서 Spark Clustering 구성하기 - (2) Install & port configuration (0) | 2019.08.30 |
Mac, Windows에서 Zeppelin 설치 및 설정 (0) | 2019.08.30 |
댓글