본문 바로가기
AI Journey/클라우드

Hadoop 클러스터 구축하기 part.3 - 멀티 노드 띄우고 파일 업로드하기

by 보눔비스타 2025. 12. 23.

이번에는 지금까지 만든 마스터 노드 1개와 슬레이브 노드 2개로 구성된 환경에서 하둡 파일 시스템(HDFS)을 초기화하고 하둡 클라우드에 디렉토리를 생성하여 파일을 업로드하는 과정을 살펴본다.

 

1. 초기화 및 네임노드 포맷

하둡을 재구동하기 전, 이전 실행 기록이 남아 충돌하는 것을 막기 위해 임시 디렉토리(/usr/local/hadoop/tmp)를 비우는 작업을 선행한다. master와 모든 slave 노드에서 동일하게 진행한다.

공통사항: 기존 tmp 폴더를 삭제 후 재생성하고, username에게 소유권 권한을 부여

rm -rf /usr/local/hadoop/tmp
mkdir /usr/local/hadoop/tmp
chown username: -R /usr/local/hadoop/tmp

 

[master]

HDFS의 메타데이터를 관리하는 네임노드를 포맷한다. 이 명령어를 수행하면 기존 HDFS 내의 모든 데이터가 삭제되므로 주의해야 한다.

cd /usr/local/hadoop/bin
hadoop namenode -format

 

2. 데몬 실행

[master] 

start-all.sh
jps  # NameNode 등 확인

[slave1, 2]

# DataNode 개별 시작 시도
hadoop-daemon.sh start datanode

# 만약 프로세스가 꼬여있다면 강제 종료 후 재시작
kill -9 [PID] 
hadoop-daemon.sh start datanode

jps 
# 결과: DataNode가 떠 있는지 확인

 

3. 웹 UI를 통한 클러스터 상태 확인

 

모든 데몬이 정상적으로 떴다면, 네임노드의 웹 인터페이스에 접속하여 클러스터 상태를 시각적으로 확인한다.

  • firefox http://master:50070
  • 'Live Nodes' 항목에 Slave 노드 2대가 정상적으로 카운트되는지 확인.

4. HDFS 디렉토리 생성 및 파일 업로드 테스트

마지막으로 HDFS가 제대로 동작하는지 확인하기 위해 디렉토리를 생성하고, 각 슬레이브 노드에서 생성한 로컬 파일을 HDFS로 업로드한다.

 

[master] 디렉토리 생성

hadoop fs -ls /         # 루트 조회
hadoop fs -mkdir /data  # 테스트용 data 디렉토리 생성

 

[slave1, 2]

각 슬레이브 노드에서 테스트용 텍스트 파일을 만들고 HDFS의 /data 경로에 업로드한다. put과 copyFromLocal 명령어 모두 동일하게 동작함을 알 수 있다.

# slave1에서 수행
echo "HELLO, I'M SLAVE1" > slave1.txt
hadoop fs -put slave1.txt /data/

# slave2에서 수행
echo "HELLO, I'M SLAVE2" >> slave2.txt
hadoop fs -copyFromLocal slave2.txt /data/

 

결과 확인

master 또는 slave에서 hadoop fs -ls /data/ 명령어로 조회하거나, firefox http://master:50070 로 UI를 통해 확인할 수 있다.