Hadoop - 이론, 실습
2023. 8. 1. 16:59ㆍ개발/Big data
728x90
반응형
Hadoop
Hadoop 란?
Hadoop은 방대한 양의 데이터를 저장하고 구문 분석하는 모든 구성 요소를 처리하기 위한 오픈 소스 프레임워크입니다. 또한 기능이 다양하고 접근하기 쉬운 소프트웨어 라이브러리 아키텍처입니다.
구성
- Hadoop Common: 대부분의 사용 사례를 지원하는 기본 유틸리티
- HDFS(Hadoop 분산 파일 시스템): 쉽게 액세스할 수 있는 형식으로 데이터 저장
- Hadoop MapReduce: 대규모 집합으로 매핑한 다음 필터링하여 특정 결과를 찾는 방식으로 데이터 처리
- Hadoop YARN: 리소스 관리 및 일정 예약
명령어
- hadoop fs -help : 하둡 fs에서 제공하는 명령어 확인
- hadoop fs -ls : 지정된 폴더나 파일 정보를 출력, 권한정보, 소유자, 생성일자, 바이트 수 확인
- hadoop fs -lsr : 현재 폴더 및 하위 디렉토리 정보까지 출력
- hadoop fs -du : 지정된 폴더나 파일에 사용량을 확인하는 명령어
- hadoop fs -dus : du는 폴더와 파일별 용량 / dus는 전체 합계 용량
- hadoop fs cat : 지정된 파일의 내용을 출력. 텍스트 파일만 출력
- hadoop fs -mkdir : 지정된 경로에 폴더를 생성, 이미 존재하면 error
- hadoop fs -put [운영체제폴더파일][HDFS] : 지정된 운영체제 폴더나 파일을 HDFS에 복사
- hadoop fs -get [HDFS][운영체제폴더파일] : HDFS에 저장된 파일이나 폴더를 OS로 이동
- hadoop fs -rmr : 지정한 파일이나 폴더를 삭제
- hadoop fs -sts : 지정된 경로의 통계 정보 출력
- hadoop fs -expunge : 휴지통비우기, HDFS는 삭제한 파일을 일정기간동안 보관함
설치 환경
환경 버전
Ubuntu | 22.04 |
AWS EC2 | X |
Java-openJDK | 18 |
- java 설치 이유 Hadoop이 Java 기반의 프레임워크이기 때문.
계정 생성및 전환
adduser hadoop
passwd hadoop
su - hadoop
hadoop 설치
wget "<http://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz>"
tar -zxvf hadoop-3.3.4.tar.gz
mv hadoop-3.3.4/ ~/hadoop
환경파일 수정
cd /home/hadoop/hadoop/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.18.0-openjdk-amd64
vi core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
버전확인
# 버전 확인
hadoop version
Hadoop 3.3.4
네임노드 초기화
# 네임노드 초기화
hdfs namenode -format
실행및 확인
# 실행
cd /home/hadoop/hadoop/sbin/
dfs 시작 : ./start-dfs.sh
hadoop@ip-172-16-1-68:~$ ./hadoop/sbin/start-dfs.sh
Starting namenodes on [localhost]
localhost: Warning: Permanently added '[localhost]:10000' (ED25519) to the list of known hosts.
Starting datanodes
Starting secondary namenodes [ip-172-16-1-68]
ip-172-16-1-68: Warning: Permanently added '[ip-172-16-1-68]:10000' (ED25519) to the list of known hosts.
2022-09-29 04:53:49,407 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
yarn 시작 : ./start-yarn.sh
hadoop@ip-172-16-1-68:~$ ./hadoop/sbin/start-yarn.sh
Starting resourcemanager
Starting nodemanagers
한번에 시작 : ./start-all.sh
# 파일 생성및 확인
hdfs dfs -mkdir /user
hdfs dfs -ls /
문제 해결
- 기본 포트가 22번이 아닐경우
# 만약 22번 포트가 디폴트 포트가 아닐경우
sudo vi /etc/ssh/ssh_config
PORT 변경
ssh localhost #확인
728x90
반응형
'개발 > Big data' 카테고리의 다른 글
Hadoop - MapReduce 이론, 실습 (0) | 2023.08.02 |
---|