• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

Ubuntu에 Hadoop(하둡) 설치해보기

달소 달소 777

1

5

 

 

image.png.jpg

 

안녕하세요. 달소입니다.

 

오늘은 아주아주 유명하지만 사실 접하기 쉽지않은 오픈소스 분산 빅데이터처리 프레임워크인 하둡을 설치하는 방법입니다.

 

하둡이 익숙치 않은분들이라도 빅데이터라는 이름은 많이 들어보셨을텐데요.

하둡은 이러한 빅데이터 분석을 도와주는 오픈소스 프로젝트로 2006년에 공개되었습니다.

 

하둡에 관한 많은 정보들이 있지만 장단점에 대해서는 아래 글을 참고하시는게 좋을듯합니다.

 

https://data-flair.training/blogs/advantages-and-disadvantages-of-hadoop/

 

여기서는 Ubuntu 22환경에서 하둡을 싱글노드로 직접 구축해보았습니다.

 

자바설치

하둡은 자바를 기반으로 동작하는 프레임워크이기때문에 자바설치부터 진행합니다.

 

apt update

image.png.jpg

apt install openjdk-8-jdk -y

image.png.jpg

 

설치가 완료되면 버전을 확인해줍니다.

 

java -version; javac -version

 

image.png.jpg

 

하둡 계정 생성하기

보안 강화 및 클러스터 관리 용으로 별도의 하둡계정을 만들어줍니다.

 

adduser hadoop

 

image.png.jpg

 

su - hadoop으로 계정전환을 해주시고

pw없이 접근할 수 있도록 키 생성 후 저장해주겠습니다.

 

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 0600 ~/.ssh/authorized_keys

 

image.png.jpg

 

이제 본격적인 하둡설치를 진행합니다.

 

공식홈페이지에서 최신버전으로 다운로드

2023/01/31 기준 3.3.4

 

https://downloads.apache.org/hadoop/common/

 

image.png.jpg

 

hadoop계정의 홈폴더에서 진행해주세요.

 

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

 

image.png.jpg

 

image.png.jpg

 

용량이 꽤되네요.

압축도 풀어줍니다.

 

tar xzf hadoop-3.3.4.tar.gz

 

image.png.jpg

 

압축해제가 되었으면 설치를 진행하겠습니다.

설치는 vm이기때문에 단일노드로 설치하는 pseudo-distributed mode로 설치하겠습니다.

(단일 자바 프로세스로 운영)

 

설정값을 수정할 파일 목록은 아래와 같습니다.

  • bashrc
  • hadoop-env.sh
  • core-site.xml
  • hdfs-site.xml
  • mapred-site-xml
  • yarn-site.xml

bashrc 환경변수 설정하기.(hadoop 계정으로 진행)

vi ~/.bashrc

최하단으로 내려가서 아래 내용 추가.

 

#Hadoop Related Options 
export HADOOP_HOME=/home/hadoop/hadoop-3.3.4
export HADOOP_INSTALL=$HADOOP_HOME 
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

image.png.jpg

 

source ~/.bashrc 후 echo $HADOOP_HOME 을 쳤을때 아래처럼 나오면 성공입니다.

 

image.png.jpg

 

hadoop-env.sh 수정하기.

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

 

export JAVA_HOME= 밑에 아래내용을 추가해주세요.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

image.png.jpg

 

core-site.xml 수정하기.

core-site./xml은 HDFS와 핵심 Property들을 정의하는 파일입니다.

여기서는 tmp dir경로와 hdfs의 주소값을 정의해줍니다.

값 수정전에 tmp폴더를 만들어주세요,.

image.png.jpg

 

vi $HADOOP_HOME/etc/hadoop/core-site.xml

 

최하단 <configuration> 사이에 아래 내용을 복붙해주세요.

 

<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>

image.png.jpg

 

hdfs-site.xml 수정하기.

이 파일은 데이터 노드와 네임노드의 저장소 디렉터리 설정값을 수정해줍니다.

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

마찬가지로 configuration 안에 property를 넣어주시면됩니다.

 

<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/dfsdata/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/dfsdata/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

 

image.png.jpg

 

mapreduce 정의를 위한 mapred-site.xml파일을 수정

vi $HADOOP_HOME/etc/hadoop/mapred-site.xml

 

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

image.png.jpg

 

yarn 셋팅을 위한 yarn-site. xml을 수정

여기서 node manager, Resource manager, containers, application master설정을 진행합니다.

vi $HADOOP_HOME/etc/hadoop/yarn-site.xml

 

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>0.0.0.0</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>0.0.0.0:8032</value>
</property>
<property>
<name>yarn.web-proxy.address</name>
<value>0.0.0.0:8089</value>
</property>
<property>
<name>yarn.acl.enable</name>
<value>0</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PERPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>

 

image.png.jpg

 

HDFS Namenode 초기화.

처음으로 하둡 서비스를 시작하기전에 네임노드를 초기화시켜줘야합니다.

 

hdfs namenode -format

 

image.png.jpg

 

모두 완료되면 하둡 클러스터를 시작해줍니다.

 

hadoop-3.3.4/sbin/start-all.sh

 

jps로 프로세스 확인이 가능합니다.

 

image.png.jpg

 

이제 웹으로 Hadoop WEB UI에 접속해줍니다.

http://ip:9870 입니다.

 

image.png.jpg

 

데이터노드

 

image.png.jpg

 

브라우저 파일시스템도있네요 ㄷ

 

http://IP:8042/node

image.png.jpg

 

http://IP:8088/cluster

image.png.jpg

 

뭐,,, 복잡하긴한데 꽤나 재미있었습니다

 

쓸일이 있을까싶긴하지만요..하하..

신고공유스크랩
5
profile image
달소 글쓴이 2023.01.31. 20:43
Lamanus
도커도 보긴했는데 아무래도 native가 인기가 많더라구요ㅎ

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
질문 적용 방법을 모르겠습니다?? 9 초보나스 1일 전08:05 202 +1
잡담 php가 벌써 8.36까지 나왔습니다. 5 달소 2일 전23:39 189 +2
질문 proxmox ssd 인식이 갑자기 안됩니다 고장인걸까요? 3 kmw_ 5일 전09:37 188 +1
3854 질문
image
서버구축하자 12시간 전23:49 43 0
3853 질문
image
미스터빈 16시간 전20:09 134 0
3852 질문
image
초보나스 1일 전08:05 202 +1
3851 질문
normal
웹서버구축관심 2일 전02:22 282 0
3850 잡담
normal
달소 2일 전23:39 189 +2
3849 질문
normal
게르노 3일 전03:11 174 0
3848 질문
image
감자칩 3일 전20:04 270 0
3847 질문
normal
ljr10 3일 전19:45 191 0
3846 질문
image
TANG 4일 전11:33 217 0
3845 질문
normal
감자칩 4일 전18:55 144 0
3844 질문
normal
숲형 5일 전11:21 272 0
3843 질문
image
kmw_ 5일 전09:37 188 +1
3842 질문
normal
bass9030 5일 전00:43 135 +1
3841 잡담
normal
칼룬 5일 전18:12 272 +1
3840 질문
normal
늘맑음 5일 전15:10 241 +1
3839 질문
image
게르노 6일 전12:26 88 0
3838 잡담
normal
bong90a 6일 전10:50 428 0
3837 후기
image
추주비 6일 전10:33 324 +1
3836 질문
normal
angrynerd 6일 전14:11 495 0
3835 오픈소스
image
달소 24.04.15.23:00 449 0