Ошибка в командной строке cqlsh при запросе

У меня есть кластер Cassandra из трех узлов, который работает отлично. Когда я делаю select count(*) from usertracking; запрос на одном из узлов моего кластера. Я получаю следующую ошибку:

  errors={}, last_host=localhost
  Statement trace did not complete within 10 seconds

Хотя на остальных двух узлах кластера он работает нормально. Может ли кто-нибудь сказать мне, почему я получаю эту ошибку только на одном узле, а также в чем причина ошибки?

Как указано в этом https://stackoverflow.com/questions/27766976/cassandra-cqlsh-query-fails-with-no-error/%22Post%22 Я также увеличил параметры времени ожидания read_request_timeout_in_ms and range_request_timeout_in_ms в cassandra.yaml. Но это не помогло.

Определение KeySpace:

CREATE KEYSPACE cw WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };

Определение таблицы:

CREATE TABLE usertracking (
  cwc text,
  cur_visit_id text,
  cur_visit_datetime timestamp,
  cur_visit_last_ts bigint,
  prev_visit_datetime timestamp,
  prev_visit_last_ts bigint,
  tot_page_view bigint,
  tot_time_spent bigint,
  tot_visit_count bigint,
  PRIMARY KEY (cwc)
);

Вывод статуса инструмента узла:

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens  Owns    Host ID                               Rack
UN  192.168.1.200  146.06 MB  1       ?       92c5bd4a-8f2b-4d7b-b420-6261a1bb8648  rack1
UN  192.168.1.201  138.53 MB  1       ?       817d331b-4cc0-4770-be6d-7896fc00e82f  rack1
UN  192.168.1.202  155.04 MB  1       ?       351731fb-c3ad-45e0-b2c8-bc1f3b1bf25d  rack1

Вывод nodetool tpstats:

Pool Name                    Active   Pending      Completed   Blocked  All time blocked
CounterMutationStage              0         0              0         0                 0
ReadStage                         0         0             25         0                 0
RequestResponseStage              0         0         257103         0                 0
MutationStage                     0         0         593226         0                 0
ReadRepairStage                   0         0              0         0                 0
GossipStage                       0         0         612335         0                 0
CacheCleanupExecutor              0         0              0         0                 0
AntiEntropyStage                  0         0              0         0                 0
MigrationStage                    0         0              0         0                 0
ValidationExecutor                0         0              0         0                 0
CommitLogArchiver                 0         0              0         0                 0
MiscStage                         0         0              0         0                 0
MemtableFlushWriter               0         0             87         0                 0
MemtableReclaimMemory             0         0             87         0                 0
PendingRangeCalculator            0         0              3         0                 0
MemtablePostFlush                 0         0           2829         0                 0
CompactionExecutor                0         0            216         0                 0
InternalResponseStage             0         0              0         0                 0
HintedHandoff                     0         0              2         0                 0

Message type           Dropped
RANGE_SLICE                  0
READ_REPAIR                  0
PAGED_RANGE                  0
BINARY                       0
READ                         0
MUTATION                     0
_TRACE                       0
REQUEST_RESPONSE             0
COUNTER_MUTATION             0

person Naresh    schedule 23.03.2015    source источник
comment
Это симптом, и его исправление путем увеличения времени ожидания, вероятно, не решит общую проблему. Можете ли вы поделиться выводом nodetool status и nodetool tpstats (последний должен выполняться во время выполнения запроса). Также нам может помочь определение таблицы.   -  person Lyuben Todorov    schedule 24.03.2015
comment
@Lyuben Я обновил вопрос. Пожалуйста, посмотрите на это, если это поможет   -  person Naresh    schedule 25.03.2015


Ответы (1)


Не уверен, что это поможет. У меня очень похожая конфигурация в моей среде разработки, и я получаю ошибки OperationTimedOut при выполнении операций подсчета.

Как и вы, я изначально пытался работать с различными переменными TIMEOUT в cassandra.yaml, но это не имело никакого значения.

В конце концов, тайм-аут, который был превышен, на самом деле был самим клиентом cqlsh. Когда я обновил/создал файл ~/.cassandra/cqlshrc со следующим, я смог выполнить подсчет без сбоев.

[connection]
client_timeout = 20

В этом примере время ожидания клиента устанавливается равным 20 секундам. В следующей статье есть некоторая информация о файле cqlshrc: Конфигурация CQL. Файл

Надеюсь, это поможет, извините, если я лаю не по тому дереву.

person jiwanrai    schedule 10.07.2015