大家好,我在大表上运行phoenix count查询时,收到以下错误消息。

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>


请帮忙。

最佳答案

您需要将以下hbase配置属性增加到hbase服务器和客户端配置中的更高值,默认值为1分钟(60000 Milli Sec)

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


最重要的是,以下命令应返回正确的hbase配置目录,其中hbase-site.xml文件包含上述属性。如果hbase_conf_path的值为空或。,请在执行命令export HADOOP_CONF_DIR=<correct_hbase_dir>;之前执行命令sqlline.py指向正确的hbase配置。

phoenix_utils.py  | grep hbase_conf_path

关于hbase - 无法从 Phoenix 表读取大数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27856730/

10-14 19:16
查看更多