Search

Hadoop Standalone with Docker

서버용 OS로 인기가 많은 RedHat 기업의 RHEL(RedHat Enterprise Linux)의 유료화에 반발하여 만들어진 오픈소스 프로젝트 CentOS를 이용하여 컨테이너를 빌드한다.
CentOS 이미지를 DockerHub로부터 가져온다.
> sudo docker pull centos:centos7 > sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 5d0da3dc9764 8 months ago 231MB
Plain Text
복사
CentOS 이미지를 사용하여 컨테이너를 실행한다.
> sudo docker run -it --name hadoop-base centos:centos7
Plain Text
복사
컨테이너 내에서 필요 패키지를 설치한다.
> yum update > yum install wget -y //hadoop 설치를 위한 wget > yum install vim -y //vim 에디터 > yum install java-1.8.0-openjdk-devel.x86_64 -y //Java 설치
Plain Text
복사
참고로, yum 연결이 되지 않을 땐 DNS 운영 서버인 Nameserver를 정해주어야 한다.
vi etc/resolv.conf # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf: # [network] # generateResolvConf = false nameserver 8.8.8.8
Plain Text
복사
Java 환경변수를 설정한다.
> which java /usr/lib/java > readlink -f /usr/lib/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64 > 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="."
Shell
복사
Hadoop을 설치하고 환경변수를 설정한다.
> mkdir /hadoop_home //hadoop 홈 디렉토리로 쓸 디렉토리 생성 > cd /hadoop_home > 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 //hadoop 설치 및 압축풀기 > 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 //스크립트 파일 수정 이후에 수정된 값을 적용
Shell
복사
Hadoop 설치 이후 MapReduce를 테스트 해본다. Hadoop의 LICENSE.txt 파일을 wordcount 한다.
> hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount $HADOOP_HOME/LICENSE.txt wordcount_output > cat wordcount_output/part-r-00000 "AS 2 "Contribution" 1 "Contributor" 1 "Derivative 1 ... written 1 you 2 your 4
Plain Text
복사