簡體   English   中英

Cassandra - 無法達到一致性級別 QUORUM ISSUE

[英]Cassandra - Cannot achieve consistency level QUORUM ISSUE

我在項目中出於幾個目的使用 Cassandra DB。 我正在嘗試更新評論表中的 votes_up 列的計數。 但我收到此錯誤。

在此處輸入圖片說明

我的評論表結構是。

CREATE TABLE opspot.comments (
    entity_guid varint,
    parent_guid_l1 varint,
    parent_guid_l2 varint,
    parent_guid_l3 varint,
    guid varint,
    access_id varint,
    attachments map<text, text>,
    body text,
    container_guid varint,
    flags map<text, boolean>,
    has_children boolean,
    owner_guid varint,
    owner_obj text,
    replies_count varint,
    score varint,
    time_created timestamp,
    time_updated timestamp,
    votes_down set<varint>,
    votes_up set<varint>,
    PRIMARY KEY (entity_guid, parent_guid_l1, parent_guid_l2, parent_guid_l3, guid)
) WITH CLUSTERING ORDER BY (parent_guid_l1 ASC, parent_guid_l2 ASC, parent_guid_l3 ASC, guid DESC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99PERCENTILE';

Cassandra 正在使用一個數據中心,即 datacenter1。 圖像如下。

在此處輸入圖片說明

當前的一致性級別為 1。 有 1 個節點。

誰能告訴我為什么會出現此仲裁錯誤? 根據我的研究,要實現穩定的仲裁狀態需要多個節點。 更新記錄時出現此錯誤。 由於沒有創建副本,我該如何處理一個節點的這種情況?

QUORUM & LOCAL_QUORUM是根據復制因子計算的,而不是根據集群中的節點數計算的,因此單節點集群上的 QUORUM 完全沒問題。

在您的情況下,最有可能的是您的節點沒有按時響應,例如,由於垃圾收集或其他原因,在這種情況下,它沒有達到必要的一致性級別。 即使使用ONE也可能存在同樣的問題。

我不是使用 PHP 驅動程序的專家,但在其他驅動程序中,您通常可以強制重試,通常應該使用默認的重試策略 - 您只需要將語句標記為冪等(請參閱有關Java 驅動程序中重試策略的文檔)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM