우분투에서 하둡의 마스터 노드를 구축하는 과정을 알아보자.
1. 하둡 전용 계정 생성 및 호스트 이름 설정
하둡 운영을 위한 별도의 계정을 생성하고, 네트워크 상에서 노드를 식별할 이름을 정의하는 단계이다.
adduser [username]
cd /home/[username]/
nano /etc/hostname
<nano 편집창>
[hostname]-> "master"로 변경
hostname -F /etc/hostname && hostname
master
- 수행 작업: [username]계정 생성, /etc/hostname 수정 (master로 변경), hostname -F로 즉시 적용.
- 목적: 하둡은 클러스터 구조이므로 각 노드를 구분할 명확한 호스트 이름이 필요하며, 보안과 관리 편의를 위해 전용 계정인 [username]을 사용한다.
- 핵심 내용: 노드 식별자 확립. 클러스터 내에서 이 서버는 'master'라는 이름으로 통신하게 된다.
2. IP 및 호스트 매핑 (Network Mapping)
IP 주소와 호스트 이름을 연결하여 이름만으로 서로 통신할 수 있게 설정하는 단계이다.
nano /etc/hosts
<nano 편집창>
127.0.1.1 [hostname] -> "master"로 변경
192.168.100.*** master -> 추가
init 6
- 수행 작업: /etc/hosts 파일 수정. 루프백 주소(127.0.1.1)를 master로 변경하고, 실제 고정 IP(192.168.100.***)를 master에 할당. 이후 init 6으로 재부팅.
- 목적: 하둡 설정 파일에서 IP 대신 master, slave1 같은 이름을 사용하기 위함이다.
- 핵심 내용: 도메인 해석(DNS)의 로컬 설정. IP 주소가 바뀌더라도 이름 기반의 설정을 유지할 수 있게 한다.
3. 권한 설정 및 관리자 권한 부여
생성한 [username]이 시스템 설정 및 패키지 설치를 할 수 있도록 권한을 조정하는 단계이다. (루트 계정에서 수행)
[username]@master:~$ su ubuntu
Password:
ubuntu@master:/home/[username]$ sudo su
root@master:/home/[username]# passwd root
root@master:/home/[username]# nano /etc/sudoers
<nano 편집창>
# User privilege specification
root ALL=(ALL:ALL) ALL
[username] ALL=(ALL:ALL) ALL -> 추가
- 수행 작업: root 패스워드 설정, /etc/sudoers 파일에 [username] ALL=(ALL:ALL) ALL 추가.
- 목적: [username]이 sudo 명령어를 사용하여 관리자 작업을 수행할 수 있도록 하기 위함이다.
- 핵심 내용: [username] 의 관리자 권한(Sudoer) 획득. 매번 root로 로그인하지 않고도 필요한 작업을 수행할 수 있는 환경을 만든다.
4. 네트워크 인터페이스 및 DNS 확인
서버가 고정 IP를 사용하고 외부 네트워크와 정상적으로 통신하는지 확인하는 단계이다.
- 수행 작업: /etc/network/interfaces, /etc/resolv.conf, /etc/resolvconf/resolv.conf.d/base 파일 내용 확인.
- 목적: 서버 재부팅 후에도 IP가 바뀌지 않는 고정 IP(Static IP) 상태를 유지하고, 패키지 다운로드를 위한 DNS 설정이 올바른지 점검한다.
- 핵심 내용: 네트워크 안정성 확보. 클러스터 환경에서 유동 IP를 사용하면 노드 간 연결이 끊길 수 있으므로 고정 IP 설정이 필수적이다.
5. 자바(Java) 설치 및 환경 변수 설정
하둡은 자바 기반으로 동작하므로, 실행 엔진인 JDK를 설치하고 경로를 지정하는 단계이다. (다시 하둡 전용 계정인 [username] 계정으로 전환해서 실행)
root@master:/home/[username]# su - [username]
[username]@master:~$ sudo apt update
[username]@master:~$ sudo apt -y install default-jdk
[username]@master:~$ update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-11-openjdk-amd64/bin/java
[username]@master:~$ nano ~/.bashrc
<nano 편집창 열어서 다음 내용 추가>
#JAVA_HOME
export JAVA_HOME=/user/lib/jvm/java-11-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
[username]@master:~$ source ~/.bashrc
[username]@master:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/user/lib/jvm/java-11-openjdk-amd64/bin
[username]@master:~$ java -version
openjdk version "11.0.19" 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
[username]@master:~$ javac -version
javac 11.0.19
- 수행 작업: apt update 후 default-jdk 설치. ~/.bashrc 파일에 JAVA_HOME 및 PATH 변수 추가 후 source 명령으로 적용.
- 목적: 시스템 어디서든 자바 실행 파일에 접근할 수 있게 하고, 하둡이 자바 위치를 인식할 수 있도록 한다.
- 핵심 내용: 런타임 환경 구축. 하둡 실행의 필수 전제 조건인 Java Development Kit를 시스템 전역에 활성화한다.

6. 추가 저장소 및 GPG 키 등록
최신 패키지나 특정 소프트웨어를 설치하기 위해 신뢰할 수 있는 저장소를 추가하는 단계이다.
sudo add-apt-repository ppa:ondrej/php
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [GPG key]
- 수행 작업: ppa:ondrej/php 저장소 추가 및 apt-key를 이용한 GPG 키 수신.
- 목적: 기본 우분투 저장소 외에 필요한 패키지(예: PHP 등)를 내려받기 위한 경로를 확장한다.
- 핵심 내용: 패키지 소스 확장 및 보안 인증. 보안 키(GPG)를 등록하여 안전하게 외부 패키지를 가져올 준비를 한다.
'AI Journey > 리눅스' 카테고리의 다른 글
| [Linux] Hadoop 마스터 노드 구축하기 part.3 - 하둡 설치 및 환경 설정, 데몬 확인 (0) | 2025.12.19 |
|---|---|
| [Linux] Hadoop 마스터 노드 구축하기 part.2 - APM 스택, SSH 서버 구축 및 SSH 키 생성 (0) | 2025.12.18 |
| [Linux] LAMP 스택 - 리눅스에 ownCloud 서버 구축하기 (0) | 2025.12.17 |
| [Linux] 우분투에 APM(Apache, PHP, MySQL) 설치하기 (0) | 2025.12.15 |
| [Linux] Ubuntu - /etc/network/interfaces에서 고정 IP 설정하기 (0) | 2025.12.15 |