최근 업데이트:2017-08-10
출처: 인터넷
작성자: 사용자
키워드:
안전 모드
안전 모드의 hdfs 클라이언트
Hdfsblock 분실
HDFS 블록 안전 모드 솔루션에 대 한 과도 한 액세스 손실
배경과 현상 (배경 및 증상)의 설명
디스크 공간 부족, 메모리 부족, 시스템 전원 끄기 및 다른 원인 Datanode 블록 손실, 다음과 유사한 로그:
라이브 Datanodes 3의 수에는 최소 0에 도달 했습니다.
안전 모드는 해제 자동으로 임계값 되 면.
By:org.apache.hadoop.hdfs.server.namenode.SafeModeException:Log 연 하지 발생 합니다.
이름 노드 안전 모드입니다.
보도 블록 632758 0.9990 블록에 연결할 추가 5114 필요
총의 638510를 차단합니다.
라이브 Datanodes 3의 수에는 최소 0에 도달 했습니다.
안전 모드는 해제 자동으로 임계값 되 면.
Org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkNameNodeSafeMode에서
(fsnamesystem.java:1209)
... 더
원인 분석 (원인) *
시스템 전원이 손실된 비율 세트 보다 더 잃을 것 Datanode 원인이 부족 한 메모리를가지고 있기 때문에 시스템 자동으로 안전 모드를 입력 합니다.
솔루션 (솔루션) *
HDFS 클라이언트를 설치 하 고 다음 명령을 실행 합니다.
1 단계 명령을 실행 출구 안전 모드: Hadoop dfsadmin safemode 휴가
2 단계 손상 된 블록을 제거 하는 상태 검사를 수행 합니다. HDFs fsck/삭제
참고:이 방식으로 데이터 손실이 발생 합니다 및 손상 된 블록을 삭제 됩니다.
클러스터 컴퓨터 예기치 않게 전원 사이클, hbase에 결과 시작할 수 없습니다 일반적으로, 던져 호출 예외를 반영, 삽입 수행 되거나 병합 작업 결과 부분 데이터 파일 불완전 형식에서 또는 불완전 HDFS 블록 블록에 인터럽트의 절반을 중단.
관련 정보를 확인 하려면 인터넷에 있을 수 있습니다 일부 커밋되지 않은 변경 내용을 로그 파일 데이터는 파일의 절반에 저장 완료 되기 전에 그래서 의심 하려고 true로 hbase.hlog.split.skip.errors.
이 매개 변수는 함수의 설명:
서버를 실행 하면 다시 시작, 재생 과정이 될 것입니다, 그리고 로그 아래/hbase/월마트/로그 재생, 각 지역, 재생 과정 경우 오류가 발생,이 매개 변수는 False, 예외 외부 레이어를 출력 될 것입니다 다음에 병합 재생 하지 못했습니다.
불행히도, HBase 클러스터는이 매개 변수는 수정 후 제대로 시작 여전히 실패 합니다.
다음 다른 이유로 먼저 HBase, 시작 페이지를 모니터링 60010 관찰
지역 Failed_open 오류, Its007-메타 테이블 전부 200 지역, 유일한 199 성공의 일부를 발견.
무엇을의 방법에 의해, 아마 생각 지역 데이터 파일 형식 올바르지 않은 경우 다음 첫 번째 검사는 정상에는 HDFs 파일 것 같다.
물론, Hadoop의 50070 페이지 보고 Hadoop 파일 시스템 특정 경로에 두 개의 블록의 오류를 표시 것입니다.
(HDFs 디렉토리에 HBase에 대 한 관련 기사 링크: HDFs 디렉토리 트리에서 hbase)
해결 방법:
1. Hadoop fsck-파일 확인 HDFs 파일 실행
2. / hbase/oldwals 디렉터리에 손상 된 파일을 발견 합니다.
Hadoop fsck/삭제 제거 손상 된 파일을 실행
3. 실행 HBase hbck 자세히 보기 hbase 개요, 테이블 Its007-메타는 지역 로드 실패
4. 실행 시스템 메타 데이터 테이블을 복구 하려고 HBase Hbck-fixmeta
5. 실행된 HBase Hbck-수정 지역 데이터 불일치 문제를 해결 하려고 합니다.
6. HBase hbck 세부 사항 문제가 여전히 해결 되지 발견 하는 다시 실행, 지역 여전히 로드 하지 못했습니다.
따라서, 직접 지역에서 오류 파일을 제거, HDFs 루트 디렉터리로 일시적으로 이동
Hadoop fs-이동/hbase/데이터/기본/its007-메타/fe6463cba743a87e99f9d8577276bada/메타 / 9a853fdbe13046fca194051cb9f69f9b /
Fe6463cba743a87e99f9d8577276bada의 이름입니다.
9A853FDBE13046FCA194051CB9F69F9B 지역 오류 hfile, 800 k 크기 (참고: 영역 hfile 보다 더 있을 수 있다)
7. 실행 HBase Hbck-수정 복구 지역, 완료 하기 전에 실패, 오류 hfile 삭제
요약:
HBase HDFs A 총 두 개의 파일에 손상 되었다. (HDFs 파일에 대 한 관련된 문서를 작성: HDFs 파일 쓰기 관련 개념)
하나는 oldwals에서, 이것은 몇 가지 쓸모 없는 hlog 파일을 저장 하는 파일 손상, 쓸모 없는 hlog는 Oldwals에 기록의 왈 스에서 쓴 전력 손실의 발생 HDFs 파일 데이터 블록 오류;
다른 지역 다음 hfile 파일이 손상 된,이 파일 800 k 작습니다, 한다 Memstore 플러시에서 hfile, 절반 HDFS 오류에서 발생 하는 파일 데이터 블록 완료 되지 않았다 쓰기입니다.