2017-09-15 197 views
0

我有4節點cassandra集羣。其中2個已經上漲但2個下跌。 當我開始他們時,他們立即下來。 當我檢查使用service cassandra status 我越來越could not access pidfile for cassandra 和SYSTEM.LOG文件中,錯誤的是:cassandra節點不啓動

ERROR [main] 2017-09-15 15:44:46,277 CassandraDaemon.java:752 - Exception encountered during startup 
java.lang.NullPointerException: null 
     at org.apache.cassandra.gms.Gossiper.isSafeForStartup(Gossiper.java:756) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:553) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:800) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.initServer(StorageService.java:666) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.initServer(StorageService.java:612) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:394) [apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) [apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) [apache-cassandra-3.10.jar:3.10] 
INFO [StorageServiceShutdownHook] 2017-09-15 15:44:46,281 HintsService.java:221 - Paused hints dispatch 
INFO [StorageServiceShutdownHook] 2017-09-15 15:44:46,282 Gossiper.java:1506 - Announcing shutdown 
+1

您使用的是哪個版本? – Mandraenke

+1

版本是3.10 – Vish

+0

您可以在任何正在運行的節點上執行'bin/nodetool status'命令並粘貼結果嗎?還要突出顯示拋出上面的NullPointerException的節點。 – Oresztesz

回答

0

Gossiperlink)的源代碼,我懷疑你的節點都停留在boostrapping相。其他節點將它們視爲已引導,但未能完成加入羣集。

通過在任何其他能夠啓動的實例中使用nodetool removenode,可以幫助強制從集羣中刪除卡住的節點。 之後,您應清除data目錄(位於data/system folder,如果您從OS軟件包安裝),並逐個啓動實例,以清除卡住實例上的數據。

如果你把你的集羣的gossipinfo狀態,它可能會幫助找出真正的問題是什麼。

如需進一步參考see official guide

+0

謝謝Oresztesz。我做了同樣的事情,但沒有使用removenode選項。相反,我從cassandra.yaml文件中刪除了種子,然後重新啓動cassandra以檢查它是否正確運行在羣集之外。它運行良好。然後我將種子添加回cassandra.yaml文件。並重新啓動cassandra,然後它也可以在羣集中運行。我在system.log中看到的一件事是,有一個「更新該節點的拓撲信息」的日誌。我仍然不清楚問題是什麼,但現在對我來說很有用。 – Vish