2016-10-17 5 views
1

서버 (원격)에 독립형 HBase가 설치되어 있습니다. 피닉스 (Phoenix)를 사용하여 통신하는 Java 클라이언트를 작성하여 36 회 시도하여 예외를 throw합니다.
HBASE 용 JDBC Phoenix 드라이버, 재시도 36 및 예외 예외

HBase-Version : 1.1.5 
Phoenix-core: 4.8.0-HBase-1.1 

를 ConnectionString :

Class.forName("org.apache.phoenix.jdbc.PhoenixDriver"); 
Connection connection = DriverManager.getConnection("jdbc:phoenix:192.168.1.xxx:2181"); 

내가이 전혀 연결되지 CZ, somethinghere를 놓친 거지.

예외 :

Exception in thread "main" java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions: 
Mon Oct 17 11:50:18 IST 2016, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=80992: row 'SYSTEM:CATALOG,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=HOSTNAME,16201,1476683863488, seqNum=0 

어떤 사람이 나를 도울 수 ..!

+0

[this] (https://groups.google.com/forum/#!topic/nosql-databases/yr9GKevhezs)를 참조하십시오. 도움이 될 수 있습니다 ... 지역 서버 문제 일 수 있습니다! –

+0

기본적으로 HadoopSystems에 액세스합니까?, 그것에 관한 아이디어가 있습니까? – peaceUser

+0

나는 @peaceUser에 대해 잘 모르겠습니다. –

답변

2

음 내부 IP 매핑 오류,
누구가, 서버쪽으로 요청의 첫 번째 밀어 투쟁, 호스트 문자열이 구성되어있게 만든다하시기 바랍니다. Modifying host here

+0

peaceUser - 여기에 단계를 게시 할 수 있습니까? 링크에 지금 액세스 할 수 없습니다! – mbaxi

+0

@mbaxi, 작동 링크, ​​https://support.rackspace.com/how-to/modify-your-hosts-file/ – peaceUser

+0

ok, 내 화재가 차단하고있는 것 같습니다 – mbaxi

3

내 경험에 따르면이 문제는 일반적으로 스캐너에서 시간 초과가 발생할 때 발생합니다. 당신이 81초 때 동안 계속 의미 = 80992

callDuration,

callTimeout = 60000 : 그리고 귀하의 경우, 그건 사실뿐만 아니라, B/C는 말한다 당신의 오류 메시지가 나타납니다 시간 초과는 1 분이었습니다. HBase를 질의 할 때, 당신은 행키를 사용하고 있는지 또는 새로운 버전의 phoenix에서 타임 스탬프인지를 확인하고자합니다. 다른 HBase 쿼리는 엄청나게 비효율적입니다. , 다시

  1. 한번에 4 시간
  2. 처럼 터무니없이 높은 번호로 HBase를 시간 제한을 설정하는 기존 rowkey를 사용하도록 쿼리를 변경 : 당신은 몇 가지를 시도 할 수 있습니다. 우리가 하나 개의 테이블에서 rowkey의 첫 번째 문자는 0-9입니다 그래서 우리는 다음과 같은 실행하겠습니다 : 우리가 10 B/C에 의해 단지 곱셈, 계산하는 경우

    select * from TABLE WHERE ROWKEY like '0%' AND [other_conditions] 
    select * from TABLE WHERE ROWKEY like '1%' AND [other_conditions] 
    etc... 
    

    을 그리고 결과를 결합하거나 보통 우리의 목적에 충분합니다.

  3. 마지막으로 phoenix 쿼리를 최적화하기 위해 더 나은 로우 키를 작성해야 할 수도 있습니다. 이것은 고급 주제에 가깝지만 모든 HBase 쿼리에 해당됩니다. HBase는 좋은 점이 하나 있는데 강력한 인덱스 인 행키를 쿼리합니다. 피닉스를 사용한다고해서 그 문제가 완화되는 것은 아닙니다.

그리고 스택 오버플로 관점에서 보면 쿼리와 테이블 구조에 대해 조금이라도 게시하면 도움이됩니다.

+0

@WattslnABox 그런 세부 사항을 제공해 주셔서 감사합니다. 그렇습니다. 시스템 방화벽이 전체 요청에 대해 쿼럼 밖으로 도달하는 것을 허용하지 않는 것은 이상한 일이었습니다 ...! – peaceUser

+0

아, 흥미 롭다, @peaceUser, 나는 결코 전에 그런 식으로 달려 가지 않았다.네가 알아 낸 것을 기쁘게 생각한다. 당신 자신의 질문에 답하고 대답을 받아 들일 수 있습니다. – WattsInABox

+1

이 질문을하는 사람은 누구나 같은 이유로 원인이 둘 다 있기 때문에 두 답을 모두 확인한다고 말할 수 있습니다. – peaceUser