18

こんにちは、大きなテーブルでフェニックス カウント クエリを実行しているときに、以下のエラー メッセージが表示されます。

0: jdbc:phoenix:hadoopm1:2181> select Count(*) from PJM_DATASET;
+------------+
|  COUNT(1)  |
+------------+

java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions:
Fri Jan 09 02:18:10 CST 2015, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=62365: row '' on table 'PJM_DATASET' at region=PJM_DATASET,,1420633295836.4394a3aa2721f87f3e6216d20ebeec44., hostname=hadoopctrl,60020,1420790733247, seqNum=27753

    at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2440)
    at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2074)
    at sqlline.SqlLine.print(SqlLine.java:1735)
    at sqlline.SqlLine$Commands.execute(SqlLine.java:3683)
    at sqlline.SqlLine$Commands.sql(SqlLine.java:3584)
    at sqlline.SqlLine.dispatch(SqlLine.java:821)
    at sqlline.SqlLine.begin(SqlLine.java:699)
    at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441)
    at sqlline.SqlLine.main(SqlLine.java:424)
0: jdbc:phoenix:hadoopm1:2181>

助けてください。

4

4 に答える 4

1

hbase サーバーおよびクライアント構成で、以下の hbase 構成プロパティをより高い値に増やす必要があります。デフォルト値は 1 分 (60000 ミリ秒) です。

  <property>
    <name>hbase.rpc.timeout</name>
    <value>600000</value>
  </property>

最も重要なことは、以下のコマンドが、hbase-site.xml ファイルに上記のプロパティが含まれている正しい hbase 構成ディレクトリを返す必要があることです。hbase_conf_path の値が空または . の場合は、コマンドexport HADOOP_CONF_DIR=<correct_hbase_dir>;を実行する前に、正しい hbase 構成を指すコマンドを実行しますsqlline.py

phoenix_utils.py  | grep hbase_conf_path
于 2015-11-25T17:20:52.247 に答える
0

callTimeout=60000、callDuration=62365。

通話時間がタイムアウト時間である 10 分を超えているようです。hbase-default.xml (またはカスタム)config ファイルの「hbase.master.catalog.timeout」をより高い値に設定してみてください。

于 2015-05-13T07:55:41.620 に答える