티스토리 뷰
하둡은 데이터를 저장할 때 HadoopFileSystem API를 이용하여 파일 시스템에 데이터를 저장합니다. 이 API를 이용하여 HDFS나 S3에 데이터를 저장할 수 있습니다.
HDFS
- 분산 파일 시스템
- 대량의 데이터 처리에 유리
- 큰 사이즈의 파일에 최적화
- 네임노드가 메타데이터를 관리하고, 데이타노드가 데이터를 블록단위로 저장
- 하둡 3.x에서는 이레이져 코딩, 라우터 기반 연합, ozone 도입
- Hadoop FileSystem API, 하둡 fs 커맨드, 웹 UI로 접근
S3
- AWS에서 제공하는 객체 저장 시스템
- 확장성, 고가용성, 내구성, 보안, 성능 등의 특징을 가짐
- 저장용량과 요청 횟수에 따라 과금
- 키 기반으로 데이터가 저장됨. 디렉토리 시스템 아님. 파일 시스템 아님
- REST API, AWS CLI, AWS SDK, S3 콘솔로 접근
S3를 이용하기 위한 파일 시스템 API
S3에 접근하기 위한 파일 시스템은 다음과 같습니다. 이중에서 EMRFS는 AWS의 EMR에서만 사용가능합니다.
- S3: S3FileSystem
- S3N: NativeS3FileSystem
- S3A: S3AFileSystem
- EMRFS: EmrFileSystem
S3 접근 설정
하둡에서 AWS의 S3에 접근하기 위해서는 core-site.xml
에 다음과 같이 설정합니다. 다음은 s3 스키마에 접근하기 위한 설정이며 s3n, s3bfs로 접근하기 위해서는 주간의 스키마명을 바뀌주면 됩니다. (ex: fs.f3n.impl)
<!-- s3 타입 설정 -->
<property>
<name>fs.s3.impl</name>
<value>com.amazon.ws.emr.hadoop.fs.S3FileSystem</value>
</property>
<property>
<name>fs.s3.awsAccessKeyId</name>
<value>액세스키</value>
</property>
<property>
<name>fs.s3.awsSecretAccessKey</name>
<value>시크릿키</value>
</property>
<!-- s3a 타입 설정 -->
<property>
<name>fs.s3a.access.key</name>
<value>액세스키</value>
</property>
<property>
<name>fs.s3a.secret.key</name>
<value>시크릿키</value>
</property>
EMR에서의 설정
EMR에서는 EMRFS 를 이용합니다.
<property>
<name>fs.s3.impl</name>
<value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value>
</property>
참고
반응형
'빅데이터 > hadoop' 카테고리의 다른 글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Python
- 정올
- 다이나믹
- 오류
- airflow
- mysql
- emr
- yarn
- oozie
- HIVE
- 파이썬
- bash
- Linux
- build
- ubuntu
- AWS
- java
- nodejs
- Hadoop
- error
- 알고리즘
- 하둡
- HDFS
- SPARK
- hbase
- Tez
- 하이브
- S3
- SQL
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함