빅 데이터 인터뷰 시리즈 --Hadoop

세 개의 코어 하둡 :
HDFS (분산 형 기억 장치 시스템)
맵리 듀스 (분산 컴퓨팅 시스템)
YARN (리소스 예약 분산)

여러 클러스터 .Hadoop 모델 구축
1. 독립 모드 : 직접 설치 추출, 분산 스토리지 시스템은 존재하지 않는
동일한 노드에 부착 된 네임 노드 데이터 노드, 분산 처리의 이점을 반영 할 수 없습니다 2. 의사 분산.
3. 완전히 분산 : 마스터 노드, 기본 노드가 다운되면, 클러스터가 사용할 수 없다는 단점에서 여러 노드.
4. 고 가용성 모드 : 다중 마스터 노드, 동시에 여러 노드가 하나의 마스터 노드 외국 서비스, 기본 노드가 실패로, 다른 하나의 마스터 노드가 교체 할 수 있습니다 제공, 실시간으로 모든 기본 노드를 유지해야있다 일관된 데이터, 마스터 노드 단점 압력 중단 쉽다.
5. 연방 모드 : 다중 마스터 노드, 동시에 여러 개의 마스터 노드에서 여러 노드가 서비스를 제공하는 노드에서 섹션에 대한 책임이 있습니다.
실제 가용성이 높은 대형 클러스터의 생산 및 일반적으로 사용되는 방법은 연방 정부의 모델을 결합 배포.

두 .HDFS 하트 비트 메커니즘
네임 노드와 데이터 노드, 그들은 통신을 유지 시작, 데이터 노드는 주기적으로 너무 네임 노드 때 네임 노드 행의 데이터 노드의 건강, 10 배의 상태에 뒤지지 않도록하는 것으로, 보고서 네임 노드 (기본 간격 3 초)에 하트 비트를 전송 (기본값) 하트 비트를보고는 데이터 노드에 의해 수신되지 않는 경우, 네임 노드는 데이터 노드 검사, 검사 허용 전송이를 보낼 주도권을 쥐고 것입니다, 각 검사 기본 시간은 결정 300 초 때 노드 2 데이터 노드에는 시험 결과가 없습니다 다운 타임.
기본 노드를 결정하는 것은 시간 데이터 노드 (10) 다운 3S + 2 5 분 = 630S

전략 세 .HDFS 인식 래크
세의 디폴트 복사본은, 상기 제 복사본은 로컬 노드, 노드 다른 섀시와 상기 제 복사본 번째 복사본, 두 번째 및 세 번째 복사본에 저장된 다른 노드 랙 모두 로컬 액세스 속도 데이터를 보장하기 위해,뿐만 아니라, 가능한 한 데이터의 안전을 보장 복사.

네 .HDFS 업로드 (쓰기) 다운로드 (읽기) 메커니즘
업로드 메커니즘
1. 클라이언트 (클라이언트) 네임 노드에 파일 업로드 요청을 보낼;
2.NameNode는 사용자 권한과 테스트, 일련의를 실시, 상위 디렉토리가 존재하는 파일 이름이 같은 경우,이 파일로 성공적인 기록을 만들거나 클라이언트로한다 던져
3.NameNode 클라이언트 (클라이언트)에 의해 확인 업로드 요청 블록 1의 네임 노드를 보내 클라이언트 (클라이언트) (블록, 블록의 복수로 파일에 128M) 파일 분할을 시작, 네임 노드는 업로드를 받았다 파일 정보 후 뷰 데이터 노드 정보는 데이터 노드 스토리지 노드는 클라이언트 (클라이언트)에 대한 정보를 다시 결정한다.
4. 클라이언트 (클라이언트)에게 데이터 노드 확립 얻을 파이프 라인 (채널) 가까운 데이터 노드, 파이프 라인 버퍼에 성공 후, 데이터 노드의 로컬 파일 시스템에 캐쉬로부터 다음 64KB의 각 패킷 등을 형성하기 시작 성립 다른 데이터 노드에 백업 데이터 패킷에서 데이터 노드는 순차적으로 모든까지 백업이 완료된다.
5. 블록 1 전체가 업로드되면, 데이터 노드가 업로드 클라이언트 (클라이언트) 블록 1을 통보한다.
3.4.5 6 단계를 반복 전체 파일 때까지 나머지 블록은 업로드됩니다.
7. 파일 업로드 클라이언트 (클라이언트) 네임 노드, 네임 노드 업데이트 메타 데이터를 통보한다.

다운로드 메커니즘
1. 클라이언트 (클라이언트) 네임 노드에 파일 다운로드 요청을 전송.
파일이 존재 및 검사의 시리즈는, 검사는 최종 고객이 직접 오류가 발생하지 않은 경우 2.NameNode 권한, 네임 노드는 확인 후 클라이언트로 등 파일 크기, 매수,에 저장된 위치 정보를 전송합니다.
3. 정보 전송 네임 노드를 수신 한 후, 클라이언트가 최근 데이터 노드, 블록 첫 번째 다운로드의 선택을 지배하는 것, 다운로드는 클라이언트가 보고서 네임 노드를 다운로드하지 않을 경우 완전한 CRC 검사가 다른 데이터 노드에서, 할 것입니다 이 블록을 다운로드하고 네임 노드는이 데이터 노드에서 수행하는 다운로드 및 업로드 피할 후,이 데이터 노드를 기록합니다.
다른 블록을 다운로드 성공적으로 순서를 설정 한 후 4. 클라이언트 (클라이언트)를 다운로드에 피드백 될 것이다 완전한 네임 노드입니다.

IV. 간단히 맵리 듀스 프로그래밍 모델에서
첫번째지도 작업 로컬 파일 시스템에서 데이터를 읽고, 키 - 값을 사용하여 키 - 값 쌍의 집합, 하둡의 형태로 변환되어 내장 등 같은 텍스트, Longwritable 같은 데이터 유형.
키 - 값으로 변환 요구 비즈니스 프로세스의 핵심 사상의 설정 입력을 다시 출력한다.
기본적으로 사용되는 파티션 분할이 hashpartitioner 후 구역 설정 규칙을 재 작성의 getPartition의 hashpartitioner 방법으로 사용자 정의 할 수 있습니다.
정렬 키의 동일한 패킷 조합 된 출력 값을 그룹화 연산을 그룹화 키를 정렬한다 후 비교기 방법 WritableComparator 정렬, RawComparator에서 compara 오버라이드있어서 정의 된 패킷을 사용자 정의 데이터 형 대체 본원에서 사용될 수있다 규칙.
결합기 감소 수술 후, 현지가의 감속기를 워크로드 셔플을 줄이기 위해 전처리 줄일 수 있습니다.
작업을 감소하는 데이터 또는 표시, 전체 작업의 끝을 저장 마지막으로 줄이고, 수 각 데이터 수집 네트워크에 사용됩니다.

의 자세한 다섯 .MapReduce의 운영 및 원사
참조를 위해, 훌륭한 세부 사항에 쓴 글.
https://segmentfault.com/a/1190000020617543?utm_source=tag-newest

VI. 프로세스 요구 시작 하둡 하둡을 실행하는 클러스터 어떤 역할에서 시작
1.NameNode의 하둡는 주 서버, 클러스터, 메타 데이터의 보존에 저장된 파일에 파일 시스템 이름 공간 관리 및 액세스입니다.
그것은 중복 2.SecondaryNameNode의 네임 노드 데몬이 아니라주기 체크 포인트 및 정리 작업을 제공합니다. 도움말 NN 합병 editslog, NN은 시작 시간을 줄일 수 있습니다.
3.DataNode이 (클러스터가 여러 노드를 가질 수 있습니다)에 연결되어있는 스토리지 노드를 관리합니다. 데이터 데이터 노드 데몬을 실행하는 각 스토리지 노드입니다.
데이터 노드에 스케줄링 작업에 대한 책임 4.ResourceManager (JobTracker를) JobTracker에. 각 데이터 노드는 실제 작업을 수행하는 TaskTracker 있습니다.
5.NodeManager (TaskTracker)의 임무

일곱 .YARN의 각 부분의 역할의 일부
원사가 Hadoop2.0 신규 버전을 도입 자원 관리 시스템입니다, 현재 원사는 맵리 듀스 스톰 스파크 FLINK 및 기타와 같은 컴퓨팅 프레임 워크의 다양한 지원
1.ResourceManager의
관리 및 자원의 할당은 전체 클러스터에 대한 책임이
콘크리트 조치 :
1) 클라이언트 요청
2) 시작하거나 ApplicationMaster을 모니터링하기 위해
3)을 NodeManager를 모니터링 할 수 있습니다.
) 모니터링 및 스케줄링 자원을 4.
2.ApplicationMaster (AM)
응용 프로그램 인스턴스 ApplicationMaster 원사 관리 작업을 각. ApplicationMaster 용기 실행 자원 (CPU, 메모리 등의 자원 할당)의 사용을 모니터링 NodeManager 의해 ResourceManager에에서 자원 조정을 담당
특정 역할 :
1) 데이터 포인트에 대한 책임을 잘라
2) 응용 프로그램 자원을 내부 태스크에 할당
3) 모니터링 및 내결함성의 작업
3.NodeManager (NM)
NodeManager YARN 클러스터의 각 노드를 관리 할 수 있습니다. NodeManager 모니터링하고 건강 노드 추적하기 위해 평생 컨테이너 자원의 감독 및 관리에서 클러스터 서비스의 각 노드에 대해 제공
: 특정 역할
1) 단일 노드에서 자원을 관리
ResourceManager에에서 2) 프로세스 명령을
ApplicationMaster의 처리에서 3) 명령
4.Container
추상적 YARN 컨테이너 리소스는, 그러한 RM에 AM 애플리케이션 리소스, AM의 반환 RM 자원 컨테이너로 표시되는 등의 메모리, CPU, 디스크, 네트워크, 같은 노드 다차원 자원을 캡슐화 . 얀은 각 작업을위한 컨테이너를 부여하고, 용기의 자원을 사용할 수있는 작업은 기재된
특정 역할 :
1) 다중 작업 운영 환경 차원 추상화, CPU, 메모리 리소스, 및 환경 변수 등 캡슐화 시작 명령 등을 정보의 운영과 관련된 작업

게시 27 개 원래 기사 · 원 찬양 9 ·은 20000 +를 볼

추천

출처blog.csdn.net/I_Demo/article/details/103727266