2015-01-09 15 views
16

Ciao Tutto sto ottenendo sotto il messaggio di errore mentre eseguo la query di conteggio phoenix su una grande tabella.Impossibile leggere i dati di grandi dimensioni dalla tabella phoenix

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> 

per favore aiuto.

+0

Ho due master e server di 1 regione al mio gruppo, di controllo del servizio Ambari e di stato che mostra che ogni cosa sta lavorando bene – user3683741

+0

ho gli stessi issue..is c'è una soluzione a questo problema? – Arun

+0

Ho lo stesso identico problema. La dimensione del mio tavolo è di 1,5 miliardi di righe. –

risposta

1

callTimeout = 60000, callDuration = 62365.

Sembra che la durata della chiamata sia superiore a 10 minuti, ovvero la durata del timeout. Provare ad impostare la "hbase.master.catalog.timeout" nel HBase-default.xml - (o la vostra abitudine) file di configurazione su un valore superiore

+1

Grazie per la risposta, ma il timeout segnalato è '60000 ms', che è 1 minuto, non 10 - mentre il valore predefinito di' hbase.master.catalog.timeout' è 10 minuti, quindi non credo che questo sia causando 'SocketTimeoutException' –

2

è necessario aumentare la sottostante proprietà di configurazione HBase su un valore superiore a HBase configurazioni server e del client, valore di default è 1 minuto (60000 Milli Sec)

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

la cosa più importante è che il comando di sotto deve restituire la directory config HBase corretta dove file HBase-site.xml contiene la proprietà di cui sopra . Se il valore di hbase_conf_path è vuoto o., Eseguire il comando export HADOOP_CONF_DIR=<correct_hbase_dir>; per indicare la corretta configurazione di hbase prima di eseguire il comando sqlline.py.

phoenix_utils.py | grep hbase_conf_path 
Problemi correlati