Не удается прочитать большие данные из таблицы phoenix
Привет. Все, что я получаю ниже сообщения об ошибке при запуске запроса счета 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>
Пожалуйста, помогите.
Ответы
Ответ 1
Вам нужно увеличить значение конфигурации ниже hbase до более высокого значения в настройках сервера hbase и клиента, значение по умолчанию - 1 мин (60000 миллисекунд)
<property>
<name>hbase.rpc.timeout</name>
<value>600000</value>
</property>
Самое главное, что приведенная ниже команда должна возвращать правильный каталог конфигурации hbase, где файл hbase-site.xml содержит указанное выше свойство. Если значение hbase_conf_path пуст или., Выполните команду export HADOOP_CONF_DIR=<correct_hbase_dir>;
для указания правильной конфигурации hbase перед выполнением команды sqlline.py
.
phoenix_utils.py | grep hbase_conf_path
Ответ 2
callTimeout = 60000, callDuration = 62365.
Похоже, что продолжительность вашего звонка превышает 10 минут, это длительность таймаута.
Попробуйте установить "hbase.master.catalog.timeout" в файле конфигурации hbase-default.xml - (или ваш пользовательский) на более высокое значение