[HADOOP] hadoop에서 어떤 데이터 블록이 어떤 데이터 노드에 있는지 추적하는 방법은 무엇입니까?
HADOOPhadoop에서 어떤 데이터 블록이 어떤 데이터 노드에 있는지 추적하는 방법은 무엇입니까?
데이터 블록이 복제되면 데이터 노드가 복제됩니까? 복제 된 블록이있는 위치를 보여주는 도구가 있습니까?
해결법
-
==============================
1.파일 이름을 알고 있으면 DFS 브라우저를 통해이 파일을 찾을 수 있습니다.
파일 이름을 알고 있으면 DFS 브라우저를 통해이 파일을 찾을 수 있습니다.
네임 노드 웹 인터페이스로 이동하여 "파일 시스템 찾아보기"라고 말하고 관심있는 파일을 탐색하십시오. 페이지 하단에 파일의 모든 블록 목록이 표시되며 각 블록은 있습니다.
참고 : HDFS 파일 시스템에서 실제 파일을 클릭하면 다음과 같이 표시됩니다.
또는 다음을 실행할 수도 있습니다.
hadoop fsck / -files -blocks -locations
어떤 블록과 모든 위치에 대해보고합니다.
-
==============================
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는 한 번에 하나의 파일 만 볼 수있게합니다.
우리는이 도구를 사용하여 거대한 쪽모이 세공 테이블이 노드와 디스크에 잘 분산되어 있는지를 확인하고, 데이터 처리 결함이 데이터 배포 결함으로 발생하지 않았는지 확인합니다.
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
'HADOOP' 카테고리의 다른 글
[HADOOP] MapReduce의 파티셔닝은 정확히 어떻게 작동합니까? (0) | 2019.07.06 |
---|---|
[HADOOP] HDFS 디렉토리의 파일 수 (0) | 2019.07.06 |
[HADOOP] Hadoop : java.lang.ClassCastException : org.apache.hadoop.io.LongWritable을 org.apache.hadoop.io.Text로 형변환 할 수 없습니다. (0) | 2019.07.06 |
[HADOOP] YARN 클라이언트 모드에서 spark-shell으로 ClosedChannelException이 발생하는 이유는 무엇입니까? (0) | 2019.07.06 |
[HADOOP] Hadoop 및 Amazon Web Services [닫힘] (0) | 2019.07.06 |