2014-03-12 2 views
0

hdfs에 업로드 된 데이터가 hadoop 클러스터의 데이터 노드를 통해 블록으로 복제된다는 것을 알고 있습니다. 내 질문은 클러스터에있는 모든 데이터 노드의 용량이 부족한 경우 어떻게됩니까? 예 : 나는 각각 10GB 데이터 용량 (30GB 모두)을 가진 3 개의 데이터 노드를 가지고 있으며 같은 클러스터의 hdfs에 60GB 크기의 데이터를 삽입하려고합니다. 나는 60GB 데이터가 데이터 노드에 의해 수용 될 수있는 블록 (보통 ~ 64MB)으로 어떻게 분할 될 수 있는지 보지 못합니까?hdfs에 삽입 할 데이터가 데이터 노드의 용량보다 큰 경우 어떻게됩니까?

감사

답변

1

나는 그것을 테스트하지 않은,하지만 저장 중 메시지와 함께 실패합니다. 각 블록의 데이터가 HDFS에 기록되면 복제 요소 프로세스를 거칩니다. 귀하의 업로드가 약 절반 정도 진행된 다음 죽을 것입니다.

말하자면 업로드 전에 데이터를 gzip으로 압축하여 압축률에 따라 잠재적으로 압축 할 수 있습니다.

+0

그게 내가 생각한 것입니다. 나는 단지 이것에 대한 어떤 언급도 보지 못했고, 나는 그것에 대해 생각한 유일한 사람처럼 보였다. 감사 – rotunba

0

대용량 파일을 로컬 fs에서 hdfs로 이동하려고 할 때이 문제가 발생했습니다. 중간에 멈추어 공간에서 Java 오류에 응답하고 이동/복사 명령을 취소하고 파일의 모든 블록을 삭제했습니다. 이미 hdfs에 복사되었습니다.

이렇게하면 클러스터의 hdfs 크기보다 큰 단일 파일을 복사 할 수 없습니다.

관련 문제