복붙노트

[HADOOP] hadoop에서 어떤 데이터 블록이 어떤 데이터 노드에 있는지 추적하는 방법은 무엇입니까?

HADOOP

hadoop에서 어떤 데이터 블록이 어떤 데이터 노드에 있는지 추적하는 방법은 무엇입니까?

데이터 블록이 복제되면 데이터 노드가 복제됩니까? 복제 된 블록이있는 위치를 보여주는 도구가 있습니까?

해결법

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

    1.파일 이름을 알고 있으면 DFS 브라우저를 통해이 파일을 찾을 수 있습니다.

    파일 이름을 알고 있으면 DFS 브라우저를 통해이 파일을 찾을 수 있습니다.

    네임 노드 웹 인터페이스로 이동하여 "파일 시스템 찾아보기"라고 말하고 관심있는 파일을 탐색하십시오. 페이지 하단에 파일의 모든 블록 목록이 표시되며 각 블록은 있습니다.

    참고 : HDFS 파일 시스템에서 실제 파일을 클릭하면 다음과 같이 표시됩니다.

    또는 다음을 실행할 수도 있습니다.

    hadoop fsck / -files -blocks -locations
    

    어떤 블록과 모든 위치에 대해보고합니다.

  2. ==============================

    2.CERN이 공개 소스로 사용한 멋진 도구가 있습니다 - 블로그 기사를 참조하십시오. https://db-blog.web.cern.ch/blog/daniel-lanza-garcia/2016-04-tool-visualise-block-distribution-hadoop-hdfs-cluster

    CERN이 공개 소스로 사용한 멋진 도구가 있습니다 - 블로그 기사를 참조하십시오. https://db-blog.web.cern.ch/blog/daniel-lanza-garcia/2016-04-tool-visualise-block-distribution-hadoop-hdfs-cluster

    그러면 노드의 위치뿐 아니라 해당 노드의 디스크 전체에서 블록 위치가 표시됩니다 (표보기).

    이 프로젝트의 코드는 https://github.com/cerndb/hdfs-metadata에서 확인할 수 있습니다.

    내부적으로이 CERN 도구는 Hadoop에 대한 API 호출을 사용합니다 (예 : https://github.com/cerndb/hdfs-metadata/blob/master/src/main/java/ch/cern/db/hdfs/DistributedFileSystemMetadata.java#L168

    예를 들어 많은 파일에서이 파일을 실행하고 통합 결과를 볼 계획이라면 cli 도구를 사용하는 것보다 훨씬 빠릅니다.

    hdfs fsck / -files -blocks -locations는 한 번에 하나의 파일 만 볼 수있게합니다.

    우리는이 도구를 사용하여 거대한 쪽모이 세공 테이블이 노드와 디스크에 잘 분산되어 있는지를 확인하고, 데이터 처리 결함이 데이터 배포 결함으로 발생하지 않았는지 확인합니다.

  3. from https://stackoverflow.com/questions/6372060/how-to-track-which-data-block-is-in-which-data-node-in-hadoop by cc-by-sa and MIT license