java 설치

openjdk-8-jdk 다운로드

sudo apt install openjdk-8-jdk

환경변수 설정

하둡 다운로드

다운로드 및 압축해제

  • HDFS 3.2.3 버전으로 다운로드 하였음
wget https://downloads.apache.org/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz
tar -zxf hadoop-3.2.3.tar.gz

하둡 설정파일 설정

{hadoop의 root directory}/etc/hadoop에 존재

  • hadoop-env.sh: JAVA_HOME 경로 설정

Screenshot

  • core-site.xml: 클러스터의 네임노드에서 실행되는 하둡 데몬 설정

    하둡 파일 시스템 이름 설정 (URI 형식으로 입력)

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost:9000</value>
	</property>
</configuration>
  • hdfs-site.xml: 네임노드와 데이터노드 저장 경로를 지정, 데이터 복제 개수를 설정
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.name.dir</name>
		<value>file:///home/noslab-ssd2/hadoop-3.2.3/hdfs/namenode</value>
	</property>
	<property>
		<name>dfs.data.dir</name>
		<value>file:///home/noslab-ssd2/hadoop-3.2.3/hdfs/datanode</value>
	</property>
</configuration>
  • mapred-site.xml: 맵리듀스 설정

    기본 맵리듀스 프레임워크로 yarn을 설정

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>
  • yarn-site.xml: YARN 설정
<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

.bashrc 수정

vi ~/.bashrc

~/.bashrc를 열어 최하단에 아래 내용 추가

export HADOOP_HOME=/home/hadoop/hadoop-3.2.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME

수정한 내용을 저장 후 적용

source ~/.bashrc

HDFS 네임노드 포맷

{hadoop의 root directory}/bin/hdfs namenode -format

HDFS 실행

DFS 실행

{hadoop의 root directory}/sbin/start-dfs.sh

YARN 실행

{hadoop의 root directory}/sbin/start-yarn.sh

전체 실행

  • DFS와 YARN을 한 번에 실행하기 위한 스크립트
{hadoop의 root directory}/sbin/start-all.sh

실행 확인

  • jps: Java virtual machine Process Status tool. JVM에서 실행 중인 프로세스를 확인하기 위한 명령어
jps

HDFS 종료

{hadoop의 root directory}/sbin/stop-all.sh

HDFS Shell commands

명령어 기본 형태

{하둡의 root directory}/bin/hadoop fs <args>

ls

hadoop fs -ls {path}

mkdir

hadoop fs -mkdir {new directory path}

rm

  • 파일 삭제
hadoop fs -rm {file path}
  • 디렉토리 삭제
hadoop fs -rm -r {directory path}