하둡의 설치 방식에는 총 3가지 버전이 있다.
1. 독립실행모드(Standalone)
2. 가상분산모드(Pseudo-distributed)
3. 완전분산모드(Fully distributed)
이번 포스팅에서는 독립실행모드로 어떻게 설치하는지에 대해 알아볼 것이다.
독립실행모드는 하둡이 설치된 로컬환경에서만 실행되기 때문에 로컬모드라고도 불린다. 분산환경에서 맵리듀스를 하지 않는다.
실행 환경
docker를 이용한 컨테이너 환경에서 독립실행모드를 설치할 것이며 사용할 OS는 centos이다.
본 포스팅에서는 centos 이미지를 빌드하여 컨테이너를 만드는 것은 설명하지 않고 이전 포스팅을 참고하길 바란다.
centos 이미지를 이용하여 컨테이너를 실행해준다. (centos 8)
$ docker run -it --name hadoop-base centos
필요 패키지 설치
$ yum update
$ yum install wget -y
$ yum install vim -y
wget은 hadoop 파일을 다운로드하기 위해 설치하였으며, vim은 편집기를 사용하기 위해 설치하였다.
- -y 옵션은 설치할 때 확인받는 과정에 대해 yes로 자동으로 하도록 하는 옵션이다.
JAVA 설치
Hadoop은 java기반의 프레임워크로 java를 설치하여야 구동할 수 있기 때문에 java의 설치가 필수이다.
hadoop이 최신 버전의 java를 지원하는지는 확실히 알 수 없기 때문에 안정적인 8 버전을 설치하도록 하겠다.
$ yum install java-1.8.0-openjdk-devel.x86_64 -y
java -version을 이용하여 java가 잘 설치되었는지를 확인해본다.
환경변수 설정
다음으로는 환경변수를 설정해줘야 하는데 먼저, 설치된 jdk의 경로를 알아야 하기 때문에 다음 코드를 이용해 알아낸다.
$ which java
#이후 java의 경로가 나오면 그 경로에 대해
$ readlink -f "which java의 결과"
그러면 다음과 같은 결과를 얻을 수 있다.
리눅스는 자동으로 실행되는 스크립트 파일들이 있다.
(/etc/profile -> /etc/bashrc -> ~/.bashrc -> ~/.bash_profile)
~/ 이후의 파일들은 개인 사용자마다 적용되는 스크립트 파일들이고 /etc 의 파일들이 전체 사용자에게 적용되는 파일이다.
$ vim ~/.bashrc
~/.bashrc 파일 하단에 다음과 같이 작성하고 :wq 를 이용해 저장한다.
# ~/.bashrc 파일 내용들
...
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_OPTS="-Dfile.encoding=UTF-8"
export CLASSPATH="."
Hadoop 설치
이제 하둡을 설치해보자. 현재 최신 버전인 3.3.1 버전을 다운받아서 압축까지 풀어보겠다.
# hadoop 홈 디렉토리로 쓸 디렉토리 생성
$ mkdir /hadoop_home
$ cd /hadoop_home
# hadoop 다운로드 후 압축풀기
$ wget https://mirrors.sonic.net/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
$ tar xvzf hadoop-3.3.1.tar.gz
이후 하둡에 대하여 환경변수들을 설정해줘야 한다. 다시 ~/.bashrc 파일을 열어서 다음과 같이 작성한다.
$ vim ~/.bashrc
# ~/.bashrc
...
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_OPTS="-Dfile.encoding=UTF-8"
export CLASSPATH="."
# 여기서부터 하둡 설정내용
export HADOOP_HOME=/hadoop_home/hadoop-3.3.1
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$ source ~/.bashrc
이후 하둡 버전을 확인해보면 잘 설치되었는지 확인할 수 있다.
MapReduce 사용해보기
하둡을 설치했으니 한 번 맵리듀스로 테스트를 해보자. 하둡에 내장되어 있는 예제 jar 파일인 [hadoop-mapreduce-examples-3.3.1.jar]를 이용해서 hadoop-3.3.1에 있는 LICENSE.txt 파일을 맵리듀스로 wordcount를 해보겠다.
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount $HADOOP_HOME/LICENSE.txt wordcount_output
실행하면 wordcount_output 이라는 디렉토리가 만들어진다.
part-r-00000 이라는 파일에 wordcount를 실시한 결과가 작성되어 있다.
이렇게 단어들의 출현 빈도수가 잘 카운트되어 있다.
여기까지 독립실행모드(Standalone)에 대해 설치방법과 맵리듀스로 테스트까지 완료해보았다.
'Data > Hadoop' 카테고리의 다른 글
[Hadoop] 도커(Docker)로 하둡 설치하기 (Fully-distributed) (4) | 2022.05.12 |
---|---|
[Hadoop] 도커(Docker)로 하둡 설치하기 (Pseudo-distributed) (0) | 2021.12.25 |