Vmware 등의 가상 환경에서 실습을 할 때는 마스터 노드로 구축한 가상머신을 복제(clone)해서 슬레이브(slave)노드로 만들면 간단하게 하둡 클러스터를 구축할 수 있다. 이 때 호스트네임과 네트워크 식별 정보(IP/MAC Address) 까지 복제가 되는데, 각각의 클론에서 네트워크 등의 설정은 손수 해줘야 한다. 하둡 클러스터가 정상적으로 작동하려면 각 노드가 고유한 이름과 IP를 가져야 하기 때문이다.
1. 가상머신 하드웨어 식별자(MAC 주소) 재설정
가상머신을 복제하면 네트워크 카드의 물리적 주소인 MAC 주소까지 동일하게 복사될 수 있다. 이는 네트워크 충돌의 원인이 되므로 가장 먼저 변경해야 한다.
- VMware에서 해당 슬레이브 노드 (power off한 상태에서) 가상머신의 설정을 열고 Network Adapter -> Advanced 메뉴로 들어간다.
- MAC Address 항목에서 Generate 버튼을 눌러 새로운 주소를 생성한다.

2. 호스트네임(Hostname) 변경
슬레이브 노드로 복제한 가상머신을 부팅하고 사용자 로그인을 해서 고유한 호스트네임을 부여한다.
- 각 노드의 터미널에서 sudo hostnamectl set-hostname [원하는이름] 명령어를 사용한다.
- ex. sudo hostnamectl set-hostname slave1
3. 고정 IP 주소 할당
하둡 노드 간 통신이 원활하려면 유동 IP가 아닌 고정 IP를 사용해야 한다. Ubuntu 18.04 버전 이상에서는 Netplan을 사용하여 이를 설정한다.
- ls /etc/netplan/ 을 입력해서 /etc/netplane/ 디렉토리 안에 있는 파일의 정확한 이름을 확인 (ex. 01-network-manager-all.yaml)
- 확인한 파일 이름을 넣어 nano 편집기를 연다. (sudo nano /etc/netplan/01-network-manager-all.yaml)
- Ubuntu 구버전이라면 /etc/network/interfaces에서 수정해도 된다. (본인은 interfaces 파일에서 수정함)

(위에 address 부분 마지막 3자리를 마스터노드 주소인 129에 이어서 130으로 설정했다.)
- 파일을 저장하고 바로 IP 주소가 바뀌지 않는다. 네트워크 서비스를 재시작하거나 재부팅을 하면 되는데, sudo reboot로 재부팅을 해주는 것이 가장 확실하고 깔끔하긴 하다.

바뀐 IP 주소를 확인한다
고정 IP를 정할 때 중요한 것은, 현재 사용 중인 VMware의 가상 네트워크 대역 안에서 남는 주소를 써야 인터넷 연결과 노드 간 통신이 정상적으로 이루어진다는 것이다. 따라서 다음 3가지 규칙은 지켜야 한다.
1. 네트워크 대역(Subnet) 맞추기
VMware 설정에서 제공하는 네트워크 대역과 앞의 세 자리가 같아야 한다.
- 확인 방법: 터미널에 ip addr 또는 ifconfig를 입력한다.
- 만약 현재 IP가 123.456.10.101이라면, 고정 IP도 반드시 123.456.10.xxx 형태여야 한다.
2. 게이트웨이(Gateway) 주소 확인
외부 인터넷(패키지 설치 등)을 사용하려면 게이트웨이 주소가 정확해야 한다.
- 일반적으로 VMware NAT 모드에서 게이트웨이는 끝자리가 .2인 경우가 많다. (예: 123.456.10.2).
- 확인 방법: ip route | grep default 명령어를 입력하면 나오는 IP가 게이트웨이다.
3. 중복 주소 피하기
- Host OS와 중복 금지: 윈도우(호스트 PC)가 사용 중인 IP와 겹치면 안 된다.
- 다른 VM과 중복 금지: Master가 .100이면, Slave1은 .101, Slave2는 .102 식으로 겹치지 않게 순서대로 배정하는 것이 관리하기 편하다.
4. Hosts 파일 동기화
모든 노드(Master, Slaves)가 서로의 이름과 IP를 알 수 있도록 모든 노드에서 /etc/hosts 파일을 열어 클러스터의 모든 노드들의 IP주소와 이름을 입력한다. 이 파일은 모든 노드가 동일한 내용을 공유해야 한다. (2번 행은 1번행과 중복이므로 주석처리 하거나 삭제. 컴퓨터가 위에서부터 읽기 때문에 주석처리를 안하고 놔두면 ssh master를 쳤을 때 진짜 IP ***.***.***.129를 무시하고 자기 자신(localhost)으로 접속해버림.)

여기까지 가상환경에서 마스터노드와 슬레이브노드의 가상머신을 세팅하는 과정을 알아보았다.
이어지는 포스팅에서는 마스터노드가 슬레이브노드를 제어할 수 있도록 SSH 공개키 기반의 인증 절차에 대해 알아보도록 한다.
'AI Journey > 클라우드' 카테고리의 다른 글
| 도커(Docker)와 컨테이너 기술의 개념 이해하기 (2) | 2025.12.24 |
|---|---|
| Hadoop 클러스터 구축하기 part.3 - 멀티 노드 띄우고 파일 업로드하기 (0) | 2025.12.23 |
| Hadoop 클러스터 구축하기 part.2 - SSH 키 기반 연결, 하둡 환경 설정 및 배포 (0) | 2025.12.23 |
| [VMware] 가상머신 안에서 가상화를 할 때 반드시 필요한 설정 (0) | 2025.12.18 |
| 분산 파일 시스템(DFS)의 개념과 하둡(Hadoop)의 원리 (0) | 2025.12.17 |