2014-01-06 3 views
0

C# 클라이언트의 중고 서버를 통해 HBase 서버와 통신하려고하는 프로젝트를 진행 중입니다.HBr 서버를 통해 스핀 서버로 보내지는 슬리 프 클라이언트에서 슬리 프 RPC가 실패 함

HBase 서버를 설정했습니다. 소켓을 열 수 있습니다.

API를 호출 할 때 : _hbase.getTableNames(), 예외를 throw합니다. 이 기능을 수행하기 위해 내부적으로 - send_getTableNames();recv_getTableNames();을 호출합니다.

첫 번째 함수는 (내부적으로 소켓에 작성)하지만 두 번째 함수가 0 바이트를 수신 소켓과 클라이언트 중고품 코드에서 읽으려는 통과 그러므로 그것은 예외를 던지고.

어떤 이유가있을 수 있습니까?

참고 : 서버에는 HBase 0.92.0이 설치되어 있고 중고 서버의 HBase.thrift가 사용됩니다. 그러나 클라이언트 측에서는 HBase 0.94.0과 함께 제공되는 HBase.thrift 파일을 사용하고 있습니다. 나는 이것이 올바른지는 짐작할 수 있습니다. 내가 EMR 이상과 HBase와 서버를 통해 spinned 다음 중고품 서버 AWS HBase를 사용하던

transport.Open();     
var names = _hbase.getTableNames(); 
+0

예외 세부 정보를 추가하십시오. 도움이 될 수 있습니다. – JensG

답변

0

:

실패 클라이언트 측의 코드입니다 다음. 중고품 서버를 설정하는 동안 AWS 관리 콘솔에 허용 된 IP 주소와 포트 번호를 설정하는 옵션이 있습니다. 포트 번호를 9000으로 허용했지만 중고품 서버는 포트 번호 9090에서 수신 대기합니다. 허용 된 포트 번호 목록에 포트 번호 9090을 추가하면 해당 포트 번호에 연결할 수있었습니다.

관련 문제