Hadoop 9

HDFS - Balance

HDFS를 운영하면서 데이터 불균형이 발생하여 밸런싱을 실행해야 하는 경우가 있다. 주의할 점은 밸런서는 랙 인식(Rack Awareness) 설정이 되어 있지 않으면 동작하지 않는다. 데이터 불균형이 발생하는 경우데이터 노드를 추가하는 경우하둡의 데이터 저장 공간이 부족하여 데이터노드를 추가하는 경우 다른 노드의 사용공간은 70~80% 정도인데 신규 데이터 노드는 사용공간이 0% 대량의 데이터를 삭제하는 경우 특정 데이터 노드에 블록이 많이 저장되어 데이터노드간 저장공간 차이가 20~30% 정도 발생하는 경우 대량의 데이터를 추가하는 경우특정 데이터 노드에 데이터가 적은 경우 네임노드는 데이터 저장공간이 작은 노드를 우선적으로 사용하는데 이 경우 특정 노드로 I/O가 집중 되게 됨 HDFS Balanc..

Hadoop 2025.01.26

HDFS - 사용량 제한 설정

HDFS 관리자는 디렉토리 별로 파일 개수와 파일 용량을 제한 할 수 있다. 각 설정은 개별 적으로 동작. 하나만 설정 하거나, 동시에 설정할 수 있다. 파일 개수 제한디렉토리별로 생성할 수 있는 파일 개수를 제한 할 수 있다. 할당량을 초과하면 파일, 디렉토리를 생성할 수 없다. 파일 용량 제한디렉토리별로 용량을 제한할 수 있다. 파일 용량만 포함되고, 디렉토리는 용량에 포함되지 않는다. 제한 설정 명령파일 개수 제한, 파일 용량 제한은 hdfs dfsadmin 명령을 이용하여 설정할 수 있다.# 파일 개수 제한. 최대 Long.MAX_VALUE 만큼 제한 가능 hdfs dfsadmin -setQuota ...# 파일 개수 제한 초기화hdfs dfsadmin -clrQuota ...# 파일 용량 제한..

Hadoop 2025.01.26

Hadoop - HDFS 페더레이션

HDFS 페더레이션?네임 노드의 확장성 문제를 해결하기 위한 네임노드 연합체(2.x 릴리즈 버전부터 지원) 여러대의 네임노드가 파일 시스템의 네임스페이스를 일부 나누어 관리하는 방식이다.ex) A네임노드는 /user/* 디렉토리의 모든 파일관리.      B네임노드는 /share/* 디렉토리의 모든 파일관리. HDFS 페더레이션을 적용하면 각 네임노드는 네임스페이스 볼륨과 블록 풀을 관리한다.네임스페이스 볼륨 : 네임스페이스의 메타데이터를 구성. 서로 독립되어 있다. 네임노드끼리 서로 통신할 필요가 없다. 특정 네임노드가 장애가 나도 가용성에 영향을 주지않는다.블록 풀 : 네임스페이스에 포함된 파일의 전체 블록을 보관.  모든 데이터노드는 클러스터의 각 네임노드마다 등록되어 있고, 여러 블록 풀로부터 블..

Hadoop 2024.07.04

Hadoop - 다수의 작은 파일 vs 하나의 큰 파일

하둡에서 다수의 작은 파일보다는 하나의 큰 파일을 처리하는게 속도면에서 더 빠르고 효율적이다.파일에 따라서 작은 용량의 다수 파일을 전처리하여 큰파일로 전처리 작업 후 다음 작업을 실행하는게 더 효율적일 수 있다. 왜?오버헤드 감소: 많은 작은 파일을 읽으려면 많은 메타데이터 작업이 필요하다. 각 파일에는 열기, 메타데이터 읽기 및 닫기가 필요하므로 단일 대형 파일을 읽는 것에 비해 상당한 오버헤드가 추가된다.효율적인 데이터 현지화: Hadoop의 HDFS는 대용량 파일을 큰 블록(default 128MB)으로 분할하여 효율적으로 처리하도록 설계되었다. 이러한 블록은 여러 노드에서 병렬로 처리되어 처리량과 효율성을 극대화할 수 있다. 작은 파일이 많으면 노드 전체에 걸쳐 이러한 파일을 배포하고 관리하는 ..

Hadoop 2024.07.04

Hadoop - HDFS, 네임노드, 데이터 노드, NFS

- 블록 Block한 번에 읽고 쓸 수 있는 데이터의 최대량.기본적으로 128MB블록 크기보다 작은 데이터일 경우, 전체 블록 크기에 해당하는 하위 디스크를 모두 점유하지는 않는다.ex) 1MB크기의 파일을 저장한다면 128MB의 디스크를 사용하는 것이 아니라 1MB의 디스크만 사용한다. - 블록이 큰 이유?탐색 비용을 최소화 하기 위해서이다. 블록이 크면 블록을 탐색하는데 걸리는 시간을 줄일 수 있고 데이터를 전송하는데 더 많은 시간을 할애할 수 있다.디스크에서 한 블록을 읽는데 걸리는 시간은 Seek time + Transfer time(데이터의 시작점을 찾는 시간 + 블록의 크기) 여기서 transfer rate는 디스크의 물리적인 한계가 있으므로 더 빠르게 만들기는 어려우니 블록의 크기를 크게 만..

Hadoop 2024.05.21

Hive , Impala

Hive와 Impala모두 Sql On Hadoop으로 하둡에 저장되어 있는 데이터를 sql를 활용하여 데이터를 분석할 수 있다. ●Hive => 변하지 않는 데이터의 매우 큰 데이터 집합에 대한 배치처리에 적합- Hadoop에 저장된 메타 데이터를 Table Schema 정보와 함께 메타스터오에 등록하여 RDBMS에서와 같이 SQL을 활용하여 사용할 수 있다.- 기존 hadoop의 map-reduce를 활용해 사용하던 방식을 SQL문을 활용 할 수 있도록  facebook에서 개발 후 오픈소스화 함.- Map-Reduce의 모든 기능 지원- Hive Query -> Map-Reduce로 변환되어 실행됨.- Query 파싱, 실행계획 수립, 최적화 과정을 거쳐 map-reduce로 변환하여 처리하므로 응..

Hadoop 2024.05.17

Hadoop eco system

업무에서 다뤄본 SW위주로 정리. 출처 : https://1004jonghee.tistory.com/m/entry/1004jonghee-%ED%95%98%EB%91%A1%EC%97%90%EC%BD%94%EC%8B%9C%EC%8A%A4%ED%85%9CHadoop-Eco-System-Ver-10?category=419383출처 : 시작하세요! 하둡 프로그래밍(위키북스)Zookeeper분산 환경에서 서버들간에 상호 조정이 필요한 다양한 서비스를 제공하는 시스템.하나의 서버에만 서비스가 집중되지 않도록 서비스를 알맞게 분산하여 동시에 처리하게 해줌하나의 서버에서 처리한 결과를 다른 서버들과도 동기화 -> 데이터 안정성 보장운영(active) 서버에서 문제가 발생해 서비스를 제공할 수 없는 경우, 다른 대기중인 ..

Hadoop 2024.05.13

hdfs 휴지통

휴지통 기능이 설정되면 hdfs에서 삭제된 파일은 /user/유저명/.Trash 경로에 보관된다. 해당 경로의 파일들은 일정 시간이 되면 삭제한다. 관련파일 core-site.xml 관련설정 fs.trash.interval : 0이면 휴지통 기능 off, 휴지통 삭제하는 시간 설정 (분)tfs.trash.checkpoint.interval : 체크포인트를 확인하는 간격 fs.trash.interval 보다 같거나 작아야함. 휴지통 명령어 $ hadoop fs -expunge # 휴지통 비우기$ hadoop fs -rm -skipTrash /user/data/file # 휴지통 거치지 않고 바로 삭제

Hadoop 2024.04.11