강의
Hadoop
"하둡"(Hadoop)은 다수의 노드로 구성된 클러스터(Cluster) 시스템 입니다.
발전
- HDFS 위에서 분산 컴퓨팅 시스템 MapReduce을 작동
- 분산 처리 시스템 YARN 위에서 동작
- 다수의 스탠바이 내임노드 지원
Hadoop 1.0
분산 파일 시스템 HDFS
- 블록단위 저장
- 블록 복제 방식 (Replication) : 중복 저장
- 내임 노드 이중화 지원
분산 컴퓨팅 시스템 MapReduce
- 하나의 잡 트래커 및 다수의 태스크 트래커로 구성
- 잡 트래커 : 태스크 분배
- 태스크 트래커 : 병렬 처리
- MapReduce만 지원
Hadoop 2.0
YARN 분산 컴퓨팅 시스템
- 세부 리소스 관리 가능한 범용 컴퓨팅 프레임워크
- 리소스 매니저 및 노드 매니저, 컨테이너로 구성
동작 형태
- 실행 코드(혹은 환경 정보)를 RM에게 제출 : application ID에 해당하는 HDFS 폴더에 미리 복사
- RM이 NM을 통해 AM(프로그램 마스터 역할) 실행
- AM이 RM으로 코드 실행에 필요한 리소스 요구 : Data Locality 고려 필요
- AM에 NM을 통해 컨테이너 설치하여 코드 실행 (태스크)
- 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 |