簡體   English   中英

Cassandra依賴於任意命令

[英]Cassandra hangs on arbitrary commands

我們在AWS上托管Cassandra 2.0.2群集。 我們最近開始從普通驅動器升級到SSD驅動器,通過引導新節點和退役舊節點。 它運行得相當好,除了兩個節點永遠停止退役。 現在,在新的6個節點運行后,我們注意到一些舊的工具,使用phpcassa停止工作。 安全組沒有任何改變,所有端口TCP / UDP都是打開的,telnet可以通過9160連接,cqlsh可以“使用”一個集群,選擇數據,然而,'描述集群'失敗,在cli中,'show keyspaces'也失敗了 - 失敗,我的意思是永遠不會退出提示,也不會返回任何結果。 查詢在新節點中運行良好,但即使是等待退役的舊節點也無法執行。 生產系統,也使用phpcassa,執行正常的數據請求 - 它工作正常。

所有cassandras都具有相同的配置,相同的版本,安裝它們的相同包。 由於種子節點更改,最近重新啟動了所有節點。

版本:

連接到########。compute-1.amazonaws.com:9160。 [cqlsh 4.1.0 | Cassandra 2.0.2 | CQL規范3.1.1 | 節儉協議19.38.0]

我的想法已經用完了。 任何提示將不勝感激。

更新:

經過一些隨機調查,這里有更詳細的描述。

如果我cassandra-cli到任何機器,並做“顯示鍵空間”,它的工作原理。

如果我將cassandra-cli連接到遠程計算機並執行“顯示鍵空間”,它將無限期掛起。

如果我cqlsh到遠程cassandra,並做一個描述鍵空間,它會掛起。 ctrl + c,重復相同的查詢,它立即響應。

如果我cqlsh到本地cassandra,並做一個描述鍵空間,它的工作原理。

如果我cqlsh到本地cassandra,並從Keyspace限制x執行select *,它將返回一定數量的數據。 我能夠以限制760返回數據,761將失敗。

如果我所有的一致性,並選擇相同,它會掛起。

如果我進行跟蹤,不同的機器會返回數據,但有時source_elapsed為“null”

不要忘記,經過多次嘗試后,查詢群集的應用程序有時會獲得結果。

更新2

進一步播放引入了兩個節點的失敗引導失敗,一個掛在引導程序上4天,最終失敗,可能是由於滾動重啟,另一個在2天后失敗。 修復不起作用,並引入“Stream failed”錯誤,以及“Thread Thread [StorageServiceShutdownHook,5,main] java.lang.NullPointerException”中的“Exception”。 此外,執行修復后,開始獲取“讀取無效的幀大小為0.您是否在客戶端使用tframedtransport?”,所以..

將hsha的rpc_server_type切換為同步。 所有問題都沒了。 我們和hsha一起工作了好幾個月。

如果有人也偶然發現: http//planetcassandra.org/blog/post/hsha-thrift-server-corruption-cassandra-2-0-2-5/

cassandra.yaml

hsha rpc_server_type hshasync

暫無
暫無

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

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