Hadoop 설치

김민형·2022년 12월 6일
0

빅데이터

목록 보기
4/13

Hadoop 설치

해당 실습은 클라우드 환경에서 Ubuntu 18.04 VM을 하나 띄워서 진행했다.

우선 JDK와 Maven을 설치해준다.

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install openjdk-8-jdk
sudo apt install maven

hadoop 3.3.0 다운로드
Hadoop 3.3.0 이 링크에서 tar.gz의 링크를 wget으로 받아온 후 압축을 해제해준다.

tar xvfz hadoop-3.3.0.tar.gz

하둡 데몬을 띄우기 전에 설정해야할 것이 있다 localhost에 ssh로 로그인이 가능해야 한다.

 ssh localhost
 
 # 로그인이 되지 않는 경우는 아래 명령어들을 수행한다.
 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 chmod 0600 ~/.ssh/authorized_keys

아래와 같이 ssh로 정상적으로 접근이 가능해야 한다.

Demon 실행

하둡 config 디렉토리로 이동 후 몇 가지 파일들에 설정을 해줘야 데몬을 띄울 수 있다.

하둡 config 디렉토리 경로는 hadoop-3.3.0/etc/hadoop

hadoop-env.sh
여기서 설치한 JAVA와 HADOOP 그리고 HADOOP_CONF_DIR의 경로를 설정해줘야 한다.

주석 처리되어 있는 것을 해제하고 알맞은 내 경로로 바꿔준다.
JAVA같은 경우 openjdk-8을 받았으면 아래 사진과 경로가 같을 것이다.

결정적으로 하둡은 core,hdfs,yarn xml설정을 해줘야 필요한 데몬들이 띄워지고 하둡이 완전히 작동하게 된다.

설정파일 수정

core-site.xml

<configuration>
	<property> 
		<name>fs.defaultFS</name> 
		<value>hdfs://localhost:9000</value> 
	</property>
</configuration>

hdfs-site.xml
하둡은 데이터를 저장할때 원본 포함 3개의 복제본을 생성한다.
하지만 로컬 pc에서 데몬들을 하나씩만 띄울 것이기 때문에 작업하면 replication이 정상적으로 여러개 복제되지 않는다. 때문에 replication은 하나만 설정

<configuration> 
	<property> 
		<name>dfs.replication</name> 
		<value>1</value> 
	</property> 
</configuration>

하둡은 데몬을 실행할 때 처음에 네임노드를 format 해야한다.
네임노드는 fs이미지(실제 hadoop 전체 파일시스템의 구조를 스냅샷 형태로 저장하는 파일)를 관리한다.
fs 이미지에는 가장 최근의 하둡의 시스템의 메타데이터 정보들이 스냅샷으로 저장되어 있다. 변경사항이 발생했을 시 edits 로그도 계속 남기게 되고 주기적으로 이미지 병합을 해서 항상 최신의 fs이미지를 스냅샷 형태로 갖고 있게 관리된다.
이 때문에 하둡 네임노드 데몬을 내렸다가 올려도 전체 파일시스템의 최신 메타데이터 정보들을 불러올 수 있게 되는 것인데 format을 해주면 이 스냅샷과 로그들이 저장되는 디렉토리를 생성한다.

네임노드 format

bin/hdfs namenode –format

y or n 선택하는게 나오고 y를 입력해주면 format이 완료된다.

dfs 데몬 실행

sbin/start-dfs.sh

localhost:9870 접속
(local 환경이 전제라 localhost:9870이지만 난 Ubuntu VM을 띄워서 진행했으므로 VM External ip:9870으로 접속할 것이다.)

active로 되어 있으면 dfs 데몬이 잘 띄워져 있다는 뜻
summary에서 live nodes가 1이어야 정상
우린 hdfs 설정파일에서 replication을 1로 설정했기 때문

이제 MapReduce 데몬을 띄울 것이다.

설정파일 수정

mapred-site.xml

<configuration> 
	<property> 
		<name>mapreduce.framework.name</name> 
		<value>yarn</value> 
	</property> 
	<property> 
		<name>mapreduce.application.classpath</name> 
		<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/* </value> 
	</property> 
</configuration>

MapReduce 데몬 실행

sbin/start-yarn.sh

localhost:8088 접속
(마찬가지로 VM External ip:8088)

  • localhost:9870 - hdfs의 상태를 볼 수 있는 관리도구
  • localhost:8088 - 어플리케이션 실행에 대한 상태를 볼 수있는 관리도구(보여주는게 제한적이긴 하다. 기본적인 것 확인)

[Hadoop 참고]
Hadoop 관련 포스팅은 SKplanet Tacademy 유튜브의 아파치 하둡 입문 영상을 참고하였습니다.

profile
Solutions Architect (rlaalsgud97@gmail.com)

0개의 댓글