2012-02-23 2 views
1

java api를 사용하여 hbase 클러스터에 연결하려고합니다. api가 클러스터 노드에 연결하려고 시도한 후에 사육사와 연결 중입니다. 그러나이 오류는 다음 오류와 함께 실패합니다.Hbase java api 클라이언트에서 Hbase 노드에 연결할 수 없습니다.

INFO ipc.HBaseRPC: Server at <server-name>/<ip>:60020 could not be reached after 1 tries, giving up. 

노드의 포트는 hbase에서 기본적으로 열리기 때문에 열려 있습니다. hbase의 기본 설정을 사용하고 있습니다. 노드가 지역 서버로 설정됩니다. hbase 용 독립 실행 형 구성을 사용해 보았습니다. 차이점은 api가 동일하지 않은 사육사 후에 연결하는 포트입니다.

+0

이 방법이 도움이 될지 모르겠지만 독립 실행 형을 사용하는 경우 어떻게 지역 서버에 연결하고 있습니까? 그것은 주인이 아니어야합니까? 로컬 시스템의 hbase 쉘에 연결할 수 있습니까? – Lostsoul

+1

호스트 파일에서 FQDN (정규화 된 도메인 이름)을 사용하고 hbase-site.xml에서 zookeeper quorum 호스트로 name 노드의 FQDN을 사용하여 문제를 해결했습니다. – Mihai

답변

1

cloudera Manager를 사용하여 cluser를 구성 할 때도 동일한 문제가있었습니다.

해결책은 다음과 같습니다. /etc/hosts 파일에서 127.0.0.1 항목을 제거하십시오.

+0

작동하지 않습니다 ............... – Tucker

0

원격 HBase 클러스터에 연결하는 경우 의 클러스터 호스트 이름과 ip를 로컬 호스트 파일 (Linux의 경우/etc/hosts 또는 C : \ Windows \ System32 \ drivers \ etc \ 다음 예에서와 같이 Windows에서 호스트) :

192.168.150.101 vm01.domain.com

192.168.150.102 vm02.domain.com

192.168.150.103 vm03.domain.com

192 .168.150.104 vm04.domain.com

분명히 Zookeper는 HBase에 연결을 시도 할 때 ip 대신 hostname을 사용하며 자바를 사용하여 원격으로 연결할 때 문제가 될 수 있습니다.

희망이 있습니다.