[英]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”
不要忘記,經過多次嘗試后,查詢群集的應用程序有時會獲得結果。
進一步播放引入了兩個節點的失敗引導失敗,一個掛在引導程序上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
hsha
為sync
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.