2016-10-17 15 views
1

私はスタンドアロンHBaseをサーバ(リモート)にインストールしています。 Phoenixを使用して通信するJavaクライアントを作成し、36回試行して例外をスローしました。
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

[こちら](https://groups.google.com/forum/#!topic/nosql-databases/yr9GKevhezs)をご覧ください。地域サーバーに問題がある可能性があります。 –

+0

デフォルトでHadoopSystemsにアクセスしますか?それについてのアイデアはありますか? – peaceUser

+0

@peaceUserについてよくわかりません –

答えて

2

まあその内部IPマッピングエラー、
誰もが、ホスト文字列が設定されているmakesureください、サーバーへのリクエストの最初のプッシュを戦います。 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. は、既存のrowKeyを使用するようにクエリを変更し、4時間再度
  2. のように途方もなく高い数値にあなたのHBaseのタイムアウトを設定してみてください。

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

    そして結果を組み合わせるか、我々はカウントしている場合は、わずか10 B/Cを掛け:私たちが持っている一つのテーブルでは、のrowKeyの最初の文字は、私たちは次のことを実行します0-9であります通常は目的に合っています。

  3. 最後に、フェニックスクエリを最適化するために、より良い行キーを作成する必要があります。これは高度なトピックですが、すべてのHBaseのクエリに当てはまります。 HBaseは1つの点で優れており、その1つの強力なインデックスであるローキーに照会しています。 phoenixを使用しても問題は解決されません。

ところで、スタックオーバーフローの観点から、クエリとテーブル構造について少し投稿すると役立ちます。

+0

@WattslnABoxこのような詳細を提供していただきありがとうございます。はい、これには理由があります。私のシステムのファイアウォールが、完全な要求が定足数に達することを許さないのは奇妙なことです...! – peaceUser

+0

ああ、興味深い、@ peaceUser、私はこれまでに何かに遭遇したことはありません。私はあなたがそれを理解してうれしいです。あなた自身の質問に答えて答えを受け入れることができます – WattsInABox

+1

誰もがこの質問に訪れて、私は両方の答えをチェックすると言っています。 – peaceUser

関連する問題