Apache Hadoop 시작하기 - PART 1 : Java, Hadoop 설치하기

(하둡 완벽가이드 4판을 보고 직접 학습용으로 정리한 내용입니다.)

하둡에 적합한 버전의 자바를 설치해야한다. 적합한 자바 버전은 하둡위키에서 확인이 가능하다.

https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions

지원하는 자바 버전이 매우 한정적(현재는 Java 8 버전만 제대로 지원함) 이니 꼭 버전을 잘 확인하고 받아야한다. 최근들어서 이제 apache hadoop 도 OpenJDK 를 사용하니 OpenJDK를 다운받도록하자.

윈도우에서 wsl로 ubuntu:20.04 를 설치한뒤 진행했다.

우분투를 처음 깔았으면 root 초기 비밀번호를 설정해주어야한다.

sudo passwd

Apache Hadoop 은 JAVA 로 작성된 프로그램이기 때문에 JAVA를 설치해 주어야한다. root 계정으로 진행한다면 sudo 명령어는 없어도 된다. 나는 일반 계정으로 진행했다.

일단 다음 명령어들로 설치 가능 패키지 목록을 업데이트 해 준뒤 업그레이드 한다.

sudo apt-get update
sudo apt-get upgrade

그리고 java를 설치한다. 최신버전인 hadoop 3.x 버전에서는 Java 8 을 지원하기 때문에 OpenJDK 8 버전을 설치해 주자

sudo apt-get install openjdk-8-jdk

다음 명령어로 자바 버전을 확인했을 때 버전 정보가 정상적으로 출력된다면 성공적으로 설치된 것이다.

java -version
>>
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

자바를 설치했으면 환경변수에 JAVA_HOME 변수를 설정해 주어야한다. 일단 하둡까지 설치 한뒤에 한 번에 설정하도록 하자.

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html 설치방법 링크

ubuntu라면 하둡을 설치하기 전에 필요한 소프트웨어가 있다. ssh 와 pdsh 를 설치해준다.

sudo apt-get install ssh
sudo apt-get install pdsh

그리고 안정적인 배포판을 내려받자.

https://www.apache.org/dyn/closer.cgi/hadoop/common/

들어가보면 다운로드 한 뒤에 꼭 무결성(integrity)을 입증 받아야한다고 한다. KEY도 함께 받을 수 있게 되어있다.

sha512num hadoop-3.3.2.tar.gz

결과를 위 링크에 나와있는 sha512 값과 비교해서 같으면 된다.

무결성 검증이 끝났으니 이제 환경변수 설정을 해준다. ~/.bashrc 를 열어주자. gedit 프로그램을 사용하면 gui 환경에서 사용가능하다. vim, nano 등 자신이 편한 텍스트 편집기로 열어서 편집해주자. 설치 디렉토리와 PATH 변수에 경로를 추가하는 과정이다.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/lib/hadoop/hadoop-3.3.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

환경변수 설정이 끝났으면

source ~/.bashrc

명령어로 시스템의 환경변수 변경점을 적용시켜주자. 이 방법 말고 etc/hadoop/haddop-env.sh 에 JAVA_HOME 변수를 지정해서 하둡이 사용하는 자바버전을 지정할 수 있다. 시스템에서 여러가지 자바버전을 설치하여야 할 때 사용하면 된다. 이제 하둡 버전을 확인해 설치가 제대로 되었는지 확인을 해보자.

hadoop version
>>
Hadoop 3.3.2
Source code repository git@github.com:apache/hadoop.git -r 0bcb014209e219273cb6fd4152df7df713cbac61
Compiled by chao on 2022-02-21T18:39Z
Compiled with protoc 3.7.1
From source with checksum 4b40fff8bb27201ba07b6fa5651217fb
This command was run using /usr/lib/hadoop/hadoop-3.3.2/share/hadoop/common/hadoop-common-3.3.2.jar

하둡이 잘 설치 되었다.

다음 포스트에서는 Pseudo Distributed 모드를 사용하기 위한 환경설정을 진행한다.

Updated: