hbase - admin 표 조작 소스 추적
3016 단어 빅 데이터
habse 표 관련 작업, 네 임 스페이스 작업, region 작업 등 메타 정보 수정 과 관련 된 dl 작업 은 모두 HMaster 역할 을 통 해 이 루어 집 니 다.우 리 는 자바 hbase - client 모듈 이나 Liux hbase - shell 을 통 해 HMaster 와 접촉 하여 관련 dl 작업 을 할 수 있 습 니 다.
통신 원리
hbase client (hbase - shell) 와 HMaster (HRegionServer) 간 에 rpc 를 사용 하여 통신 을 하고 관련 인터페이스 통신 프로 토 콜 은 hbase - protocol 모듈
src/main/protobuf
의 .proto
파일 에 정의 합 니 다.우 리 는 그 중의 service ** rpc
키 워드 를 주목 해 야 한다.우리 가 흔히 볼 수 있 는 ddl 과 dql 작업 은 주로 Master.proto service MasterService
과 Client.proto service ClientService
에 분포 한다.rpc 와 protobuf 에 대하 여
grpc 입문 을 추천 합 니 다.
몇 가지 핵심 개념:
.proto
은 컴 파일 할 때 해당 자바 소스 파일 을 생 성 합 니 다.서비스 정 의 는 블록 인터페이스 인터페이스 와 같은 원본 파일 에 해당 하 는 인 터 페 이 스 를 생 성 합 니 다.서버 서비스
Master. proto 의
service MasterService
정 의 는 컴 파일 할 때 자동 으로 MasterProtos.MasterService.BlockingInterface
인터페이스 와 원본 파일 을 생 성 합 니 다.Client. proto 의 service ClientService
정 의 는 컴 파일 할 때 자동 으로 ClientProtos.ClientService.BlockingInterface
인 터 페 이 스 를 생 성 합 니 다.Master Protos. Master Service. Blocking 인터페이스 클래스 구현 클래스 는 Master Rpc Services 하나 입 니 다.모든 HMaster 에 대한 rpc 호출 은
MasterRpcServices
처 리 됩 니 다.Client Protos. Client Service. Blocking 인터페이스 인터페이스의 실현 클래스 는 RSRpcServices
입 니 다.데이터 와 관련 된 모든 조작.호출 체인 분석 - 메타 데이터 조작
hbase 의 모든 dl 작업 은
Admin
인터페이스 에 정의 되 어 있 습 니 다.이 인 터 페 이 스 는 유일한 구현 클래스 인 HBaseAdmin 만 있 습 니 다.createtable 작업 을 예 로 들 면 클 라 이언 트 코드 는 다음 과 같 습 니 다. try (Admin admin = connection.getAdmin()) {
HTableDescriptor hbaseTable = new HTableDescriptor(TableName.valueOf(table));
for (HColumnDescriptor family : familys) {
hbaseTable.addFamily(family);
}
admin.createTable(hbaseTable);
}
클 라 이언 트 바 텀 전체 호출 과정 은 다음 과 같 습 니 다. Admin (HBaseAdmin). createTable (...) - > HBaseAdmin. createTableasyncV 2 (...) - > executCallable (call - > {master. createTable () 여기 master 는 MasterProtos. MasterService. BlockingInterface}) - > new CreateTableFuture - > - > waitOperation Result 동기 화 차단 검사 - > waitForTableEnabled (isTableAvailable 호출)대기 표 활성화 - > waitForAllRegions Online 은 모든 Region 이 출시 되 기 를 기다 리 고 있 습 니 다 - > MetaScanner. metaScan 은 scan 스 캔 표 메타 데 이 터 를 통 해 모든 Region 이 출시 되 었 는 지 여 부 를 판단 합 니 다.
서버 쪽: MasterRpc Services (MasterProtos. MasterService. BlockingInterface) 는 Controller 와 상당히 요청 을 받 습 니 다.요청 한 데 이 터 는 다음 과 같이 봉 인 됩 니 다: CreateTableRequest 에 권한 관련 내용 이 나타 나 지 않 습 니 다.MasterRpcServices.createTable -> HMaster.createTable->
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark 의 2: 원리 소개Google Map/Reduce 를 바탕 으로 이 루어 진 Hadoop 은 개발 자 에 게 map, reduce 원 어 를 제공 하여 병렬 일괄 처리 프로그램 을 매우 간단 하고 아름 답 게 만 들 었 습 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.