데브코스 TIL/빅데이터, 스트리밍 데이터 처리

Hadoop 소개 및 설치

예니ㅣ 2024. 1. 15. 17:08

강의

Hadoop

"하둡"(Hadoop)은 다수의 노드로 구성된 클러스터(Cluster) 시스템 입니다.

 

 

발전

  1.  HDFS 위에서 분산 컴퓨팅 시스템 MapReduce을 작동
  2. 분산 처리 시스템 YARN 위에서 동작
  3. 다수의 스탠바이 내임노드 지원

 


Hadoop 1.0

분산 파일 시스템 HDFS

  • 블록단위 저장
  • 블록 복제 방식 (Replication) : 중복 저장
  • 내임 노드 이중화 지원

 

분산 컴퓨팅 시스템 MapReduce

  • 하나의 잡 트래커 및 다수의 태스크 트래커로 구성
    • 잡 트래커 : 태스크 분배
    • 태스크 트래커 : 병렬 처리
  • MapReduce만 지원 

 


Hadoop 2.0

 

YARN 분산 컴퓨팅 시스템

  • 세부 리소스 관리 가능한 범용 컴퓨팅 프레임워크
  • 리소스 매니저 및 노드 매니저, 컨테이너로 구성

 

동작 형태

  1. 실행 코드(혹은 환경 정보)를 RM에게 제출 : application ID에 해당하는 HDFS 폴더에 미리 복사
  2. RM이 NM을 통해 AM(프로그램 마스터 역할) 실행
  3. AM이 RM으로 코드 실행에 필요한 리소스 요구 : Data Locality 고려 필요
  4. AM에 NM을 통해 컨테이너 설치하여 코드 실행 (태스크)
  5. AM에 태스크 상황 주기적으로 업데이터 (Hearbeat)

 


Hadoop 설치

  • 하둡 3.0 버전 사용
  • 의사분산 모드 : 개별 JVM으로 실행
  • 리눅스 서버 : AWS 우분투 EC2 t2.medium 인스턴스 사용
  • JAVA 8 사용
  • Port : 내임노드 9870 / 데이터노드  9864
ssh -i spark-dev.pem ubuntu@ec2_surver

sudo apt update
sudo apt install openjdk-8-jre-headless
sudo apt install openjdk-8-jdk-headless
java -version

sudo adduser hdoop
su - hdoop
ssh-keygen -t rsa -p '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
ssh localhost

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

vi .bashrc
# Hadoop Related Options
# export HADOOP_HOME=/home/hdoop/hadoop-3.2.1
# 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/nativ"

source .bashrc
vi nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
vi nano $HADOOP_HOME/etc/hadoop/core-site.xml
vi nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
vi nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
vi nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
# <configuration>
# <property>
#   <name>hadoop.tmp.dir</name>
#   <value>/home/hdoop/tmpdata</value>
# </property>
# <property>
#   <name>fs.default.name</name>
#   <value>hdfs://127.0.0.1:9000</value>
# </property>
# </configuration>

hdfs namenode -format
./start-dfs.sh
./start-yarn.sh
jps

 

 

 

'데브코스 TIL > 빅데이터, 스트리밍 데이터 처리' 카테고리의 다른 글

Spark 설치 및 테스트  (0) 2024.01.17
Spark 데이터 처리  (0) 2024.01.17
Spark 소개  (0) 2024.01.15
Map Reduce 프로그래밍  (0) 2024.01.15
빅데이터 소개  (0) 2024.01.15