복붙노트

[HADOOP] HDFS에 파일을 저장하면 복제됩니까?

HADOOP

HDFS에 파일을 저장하면 복제됩니까?

저는 하둡을 처음 사용합니다.

hadoop -fs put commoad를 사용하여 Excel 파일을 저장하면 HDFS에 저장됩니다.

복제 계수는 3입니다.

내 질문은 : 3 사본을 가져 와서 각각 3 개의 노드에 저장합니까?

해결법

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

    1.다음은 HDFS 작동에 대한 만화입니다.

    다음은 HDFS 작동에 대한 만화입니다.

    https://docs.google.com/file/d/0B-zw6KHOtbT4MmRkZWJjYzEtYjI3Ni00NTFjLWE0OGItYTU5OGMxYjc0N2M1/edit?pli=1

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

    2.3 개의 사본을 가져 와서 각각 3 개의 노드에 저장합니까?

    3 개의 사본을 가져 와서 각각 3 개의 노드에 저장합니까?

    파이프 라이닝에서 복제가 수행됩니다.

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

    3.HDFS 클라이언트 (이 경우 hadoop fs)에는 NameNode에서 이러한 파일을 저장할 위치의 블록 이름 및 데이터 노드 위치 (이름 노드가 랙 인식 스크립트에서이를 결정할 수있는 가장 가까운 위치 임)가 제공됩니다.

    HDFS 클라이언트 (이 경우 hadoop fs)에는 NameNode에서 이러한 파일을 저장할 위치의 블록 이름 및 데이터 노드 위치 (이름 노드가 랙 인식 스크립트에서이를 결정할 수있는 가장 가까운 위치 임)가 제공됩니다.

    그런 다음 클라이언트는 블록을 가장 가까운 데이터 노드에 복사합니다. 그런 다음 데이터 노드는 블록을 두 번째 데이터 노드 (바람직하게는 다른 랙에)에 복사해야하며, 마지막으로 두 번째는 세 번째 (세 번째와 동일한 랙에)에 복사됩니다.

    따라서 클라이언트는 데이터 노드 중 하나에 만 데이터를 복사하고 프레임 워크는 데이터 노드 간의 복제를 처리합니다.

  4. ==============================

    4.원본 파일을 하나 (또는 ​​큰 파일의 경우) 블록에 저장합니다. 이 블록은 두 개의 다른 노드로 복제됩니다.

    원본 파일을 하나 (또는 ​​큰 파일의 경우) 블록에 저장합니다. 이 블록은 두 개의 다른 노드로 복제됩니다.

    편집 : 내 대답은 Hadoop 2.2.0에 적용됩니다. 이전 버전에 대한 경험이 없습니다.

  5. ==============================

    5.예, 3 노드 (최대 3 노드)로 복제됩니다.

    예, 3 노드 (최대 3 노드)로 복제됩니다.

    Hadoop 클라이언트는 데이터 파일을 더 작은 "블록"으로 나누고 해당 블록을 클러스터 전체의 다른 시스템에 배치합니다. 블록이 많을수록이 데이터에 대해 병렬로 작업 할 수있는 머신이 더 많아집니다. 동시에 이러한 시스템은 오류가 발생하기 쉬울 수 있으므로 데이터 손실을 피하기 위해 모든 데이터 블록이 한 번에 여러 시스템에있는 것이 안전합니다.

    따라서 각 블록은로드 된대로 클러스터에 복제됩니다. Hadoop의 표준 설정은 클러스터에 각 블록의 사본을 3 개 갖는 것입니다. hdfs-site.xml 파일에서 dfs.replication 매개 변수를 사용하여 구성 할 수 있습니다.

    데이터 복제는 전혀 Hadoop의 단점이 아니며 실제로 Hadoop을 효과적으로 만드는 데 필수적인 부분입니다. 우수한 내결함성을 제공 할뿐만 아니라 데이터에 가까운 맵 작업을 실행하여 네트워크에 추가로드를 피하는 데 도움이됩니다 (데이터 위치에 대해 읽어보십시오).

  6. ==============================

    6.예, hdfs에서 n (복제 계수) 번호 사본을 만듭니다.

    예, hdfs에서 n (복제 계수) 번호 사본을 만듭니다.

    이 명령을 사용하여 파일의 위치를 ​​찾고 #rack 파일을 찾으십시오. 모든 랙의 블록 이름은 무엇입니까

    hadoop fsck / path / to / your / directory-파일 -blocks -locations -racks

  7. ==============================

    7.복제를 사용하여 hdfs에 데이터를로드하려면이 명령을 사용하십시오.

    복제를 사용하여 hdfs에 데이터를로드하려면이 명령을 사용하십시오.

    hadoop fs -Ddfs.replication = 1 -put big.file /tmp/test1.file 및 -Ddfs.replication = 1은 데이터를 hdfs로로드하는 동안 생성 될 복제 복사본 수를 정의 할 수 있습니다

  8. from https://stackoverflow.com/questions/20119320/when-i-store-files-in-hdfs-will-they-be-replicated by cc-by-sa and MIT license