복붙노트

[HADOOP] 특정 노드에 파일을 저장하는 방법은 무엇입니까?

HADOOP

특정 노드에 파일을 저장하는 방법은 무엇입니까?

특정 파일을 저장할 위치를 HDFS에 알릴 수 있습니까?

유스 케이스

방금 HDFS로 배치 파일 # 1을로드했으며 이러한 데이터에서 작업 / 응용 프로그램을 실행하려고합니다. 그러나, 나는 또한로드 될 여전히 배치 # 2가 있습니다. 예를 들어 1에서 10까지의 노드에서 첫 번째 일괄 작업 / 작업을 실행할 수 있고 완전히 병렬로 노드 (예 : 11-20)에 새 데이터를로드 할 수 있다면 좋을 것입니다.

처음에는 NameNode 연합 (Hadoop 2.x)이 정확히 그렇게했다고 생각했지만 페더레이션은 네임 스페이스를 분할하는 것처럼 보이지만 DataNode는 연결된 모든 NameNodes에 대한 블록을 계속 제공합니다.

그렇다면 HDFS에서 데이터 배포를 제어 할 수있는 방법이 있습니까? 그리고 그것은 전혀 의미가 있습니까?

해결법

  1. ==============================

    1.기술적으로, 당신은 할 수 있지만, 나는하지 않을 것입니다.

    기술적으로, 당신은 할 수 있지만, 나는하지 않을 것입니다.

    데이터가 어디로 가는지 완전히 제어하려면 BlockPlacementPolicy를 확장 할 수 있습니다 (hdfs가 저장할 데이터 노드를 선택하는 방법 참조). 이것은하기 쉽지 않으며 추천하지 않습니다.

    랙 인식을 유리하게 사용하도록 설정 한 상태에서 두 세트의 노드 사이의 트래픽 양을 최소화하는 조치를 취할 수 있습니다.

  2. from https://stackoverflow.com/questions/17278265/how-to-put-files-to-specific-node by cc-by-sa and MIT license