복붙노트

[HADOOP] 하둡 복제 모델 - DataStreamer / 네임 노드

HADOOP

하둡 복제 모델 - DataStreamer / 네임 노드

우선, 내 질문을 읽어 주셔서 감사합니다!

나는 현재 하둡의 복제 모델을 공부하지만 난 막 다른 골목에 있어요. 나는이 책 "Oreilly 하둡 확실한 가이드 제 3 판 2012년 1월"에서 공부합니다. 질문에 와서, 내가 먼저 책의 텍스트 아래를 읽을 필요가있다.

73 페이지에서 다음이 있습니다 :

는 "DistributedFileSystem는 하둡은 그냥 읽기의 경우와 같이, FSDataOutputStream는 데이타 노드와 네임 노드와의 통신을 처리하는 DFSOutput 스트림을 래핑합니다.에 데이터를 쓰기 시작하는 파일 시스템을 분산 클라이언트에 대한 FSDataOutputStream을 반환합니다. 클라이언트가 데이터를 기록으로 (3 단계) ,

DFSOutputStream는 데이터 큐라고 내부 큐에 기록하는 패킷으로 분할한다. 데이터 큐는 누구의 책임은 복제본을 저장하기에 적합한 데이타 노드의 목록을 선택하여 새로운 블록을 할당 할 네임 노드를 요청하는 것입니다 데이터 트리머에 의해 소비된다. "*

당신이 볼 수 있듯이, DFSOutputStream 패킷의 데이터 큐가 있습니다. 데이터 큐는 새로운 블록을 할당 할 수있는 네임 노드를 묻는 DataStreamer에 의해 소비되고있다.

내 질문 :

어떻게 작동합니까?

어떻게 네임 노드는 새로운 블록을 할당 하는가?

같은 질문 다른 질문 : 어떻게 네임 노드에 적합 데이타 노드의 목록을 만들 수 있습니까?

나는 인터넷이나 책에서 이것에 대해 아무것도 찾을 수 없습니다. 이 책은 높은 수준의 과정을 설명합니다.

정말 저를 돕는 시간을 주셔서 감사합니다, 당신을 감사합니다!

해결법

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

    1.아파치 HDFS 디자인에서보세요

    아파치 HDFS 디자인에서보세요

    복제 요인은 세 가지 경우 grepcode에서 예를 들어, 다음과 같이, HDFS의 배치 정책은

    ** The class is responsible for choosing the desired number of targets
     * for placing block replicas.
     * The replica placement strategy is that if the writer is on a datanode,
     * the 1st replica is placed on the local machine, 
     * otherwise a random datanode. The 2nd replica is placed on a datanode
     * that is on a different rack. The 3rd replica is placed on a datanode
     * which is on a different node of the rack as the second replica.
     */
    @InterfaceAudience.Private
    public class BlockPlacementPolicyDefault extends BlockPlacementPolicy {
    

    이 정책은 쓰기 성능을 향상 간 랙 쓰기 트래픽을 잘라냅니다.

    랙 실패의 기회는 노드 장애보다 훨씬 적은이다; 이 정책은 데이터 신뢰성과 가용성 보장에 영향을주지 않습니다.

    이 정책으로, 파일의 복제본이 고르게 랙에 걸쳐 배포하지 않습니다.

    이 정책은 데이터 신뢰성 또는 읽기 성능 저하없이 쓰기 성능을 향상시킵니다.

    ==>

    제 1 · 3 복제 한 RAC에 존재하는 2 복제가 다른 RAC에있는 (원격)

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

    2.그것은 플러그, 정책 기반의 알고리즘입니다. 자세한 내용은 복제 배치를 참조하십시오.

    그것은 플러그, 정책 기반의 알고리즘입니다. 자세한 내용은 복제 배치를 참조하십시오.

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

    3.당신은 또한 DataStreamer를 언급 한 이후로는 2 개 개의 다른 질문을 볼 수 있습니다.

    당신은 또한 DataStreamer를 언급 한 이후로는 2 개 개의 다른 질문을 볼 수 있습니다.

    당신은 "콘스탄틴 Shvachko, 하이 롱 쿠앙, 산 제이은 Radia, 로버트 Chansler에 의한 하둡 분산 파일 시스템"에 모두 답을 찾을 수 있습니다

    1) 블록) 클라이언트 (DataStreamer에서 요구되는 방법?

    2) 어떻게 네임 노드는 적절한 데이타 노드의 목록을 만들 수 있습니까?

    이미 다른 사용자가 대답으로, 하둡은이 정책을 구성 할 수 있지만 기본 복제 배치 정책으로 :

  4. from https://stackoverflow.com/questions/11003171/hadoop-replication-model-datastreamer-namenode by cc-by-sa and MIT license