Hadoop HDFS fs Command Error

하둡 HDFS 명령어란

하둡은 사용자가 HDFS를 쉽게 제어할 수 있게 shell 명령어를 제공합니다. 이 shell 명령어는 fs(FileSystem Shell)라고 하며 아래와 같이 사용하게 됩니다.

1
2
3
4
./bin/hadoop fs -[cmd] [args]

# PATH setting이 된 경우
hadoop fs -[cmd] [args]

에러가 뜨는 경우 (WARNING은 해당사항 X)

일단 당연하게도 에러가 발생했을때, 해당 에러명을 복사해서 구글링을 해보는 방법이 첫번째 입니다.

그래도 해결되지 않는 경우에 최후의 수단으로 아래와 같은 방법을 통하여 namenode를 format해버리는 방법이 있습니다.

1
2
3
4
5
6
7
8
9
10
11
# hadoop를 실행중이라면 종료
stop-all.sh

# namenode format
hadoop namenode -format

# 하둡 실행
start-all.sh

# 명령어 작동 확인
hadoop fs -[명령어] [파라미터]

HDFS란?

HDFS(Hadoop Distributed File System)는 수십 테라바이트 이상의 대용량 파일을 분산된 서버에 저장하고, 많은 클라이언트가 저장된 데이터를 빠르게 처리할 수 있게 설계된 파일 시스템입니다.

1. HDFS란?

기존에도 DAS, NAS, SAN과 같은 대용량 파일 시스템이 있었으나 HDFS와 기존 대용량 파일 시스템의 가장 큰 차이점은 저사양 서버를 이용해 스토리지를 구성할 수 있다는 것입니다.

HDFS를 사용하면 고사양 서버에 비해 매우 저렴한 저사양 서버 수십, 수백대를 묶어서 하나의 스토리지처럼 사용할 수 있으며 물리적으로는 분산된 서버의 로컬 디스크에 저장되어있지만 HDFS에서 제공하는 API를 이용하여 파일의 읽기 및 저장을 마치 한 서버에서 작업하듯이 구성할 수 있습니다.

그렇다고 HDFS가 기존 대용량 파일 시스템을 완전히 대체하는 것은 아닙니다.

고성능, 고가용성이 필요한 경우에는 SAN을, 안정적인 파일 저장이 필요한 경우에는 NAS를 사용합니다.

또한 트랜잭션이 중요한 경우에도 HDFS가 적합하지 않으며, 대규모 데이터를 저장하거나, 배치로 처리를 하는 경우에 HDFS를 사용하면 됩니다.

Read more

Installing hadoop on MAC OS M1

M1 맥북에서 하둡 환경을 구성하다보니 수많은 블로그를 참고하였고, 설명이 제각각이라 그대로 따라만 하면 설치할 수 있도록 정리해보았습니다.

1. Java JDK 설치

Java JDK는 intel용을 설치하면 로제타2를 통해 돌아가므로

M1칩에서 네이티브로 돌아가는 Azul의 OpenJDK(download)를 설치하면 됩니다.

OpenJDK

java-8 lts / mac os / arm64 옵션이 맞는지 확인하고나서 .tar.gz 파일을 다운받고, 다운받은 파일을 더블클릭하여 실행시키면 설치가 진행됩니다.

이후에 터미널창을 열고 아래와 같이 Java path를 설정하시면 됩니다.

Read more