복붙노트

[HADOOP] 블록 크기에 대한 Hadoop fs 검색?

HADOOP

블록 크기에 대한 Hadoop fs 검색?

Hadoop fs에서 특정 파일의 블록 크기를 찾는 방법은 무엇입니까?

저는 커맨드 라인에 주로 관심이있었습니다.

hadoop fs ... hdfs://fs1.data/...

그러나 그것이 존재하지 않는 것처럼 보입니다. Java 솔루션이 있습니까?

해결법

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

    1.hadoop fs에는이 작업을 수행 할 수있는 옵션이 없습니다.

    hadoop fs에는이 작업을 수행 할 수있는 옵션이 없습니다.

    그러나 hadoop fsck 수 있습니다.

    이것을 시도 할 수 있습니다.

    $HADOOP_HOME/bin/hadoop fsck /path/to/file -files -blocks
    
  2. ==============================

    2.다른 응답의 fsck 명령은 블록을 나열하고 블록 수를 볼 수있게합니다. 그러나 실제 블록 크기를 바이트 단위로 보려면 다음과 같이하십시오.

    다른 응답의 fsck 명령은 블록을 나열하고 블록 수를 볼 수있게합니다. 그러나 실제 블록 크기를 바이트 단위로 보려면 다음과 같이하십시오.

    hadoop fs -stat %o /filename
    

    기본 블록 크기 :

    hdfs getconf -confKey dfs.blocksize
    

    블록 크기의 단위는 hadoop fs -stat 명령에 문서화되어 있지 않지만 호출하는 메소드의 소스 라인과 문서를 보면 바이트를 사용하고 약 9 엑사 바이트 이상의 블록 크기를보고 할 수 없다는 것을 알 수 있습니다.

    hdfs getconf 명령의 단위는 바이트가 아니어야합니다. 구성 파일에서 dfs.blocksize에 사용 된 문자열을 반환합니다. (이것은 최종 함수와 간접 호출자의 소스에서 볼 수 있습니다)

  3. ==============================

    3.나는 그것이 할 수 있어야한다고 생각한다.

    나는 그것이 할 수 있어야한다고 생각한다.

    hadoop fsck /filename -blocks
    

    하지만 난 연결이 거부 얻을

  4. from https://stackoverflow.com/questions/8411180/hadoop-fs-lookup-for-block-size by cc-by-sa and MIT license