2017-04-25 44 views
0

我使用cqlengine和django。在某些情況下,Cassandra拋出一個錯誤,指出用戶沒有權限來做某件事。有時這是選擇,有時候這是更新或有時候是另一回事。我沒有可以分享的代碼,因爲沒有具體的代碼可以做到這一點。我很確定用戶擁有所有的權限,有時候它是有效的。所以,如果用戶沒有權限,它應該始終沒有權限錯誤。Cassandra:偶然的權限錯誤

那麼背後是什麼原因以及如何找到問題呢?

+0

什麼是你的'system_auth'鍵空間的類名和複製因子? –

回答

0

system_auth keypace RF與節點數量相同嗎?您是否嘗試在system_auth鍵盤空間上運行修復程序?如果不這樣做。

對我來說,這聽起來像是一致性問題。

0

如果您啓用了身份驗證,請確保您爲密鑰空間system_auth(應等於節點數)設置適當的RF。

其次,確保您創建的用戶對所有密鑰空間具有以下權限。 {'ALTER', 'CREATE', 'DROP', 'MODIFY', 'SELECT'}。如果您將用戶設爲超級用戶,請確保將'AUTHORIZE'作爲許可以及上面爲該用戶列出的權限。

第三,你可以通過運行CONSISTENCY ALL; SELECT * from system_auth.users ; SELECT * from system_auth.permissions ; SELECT * from system_auth.credentials ;

希望這將解決這個問題掀起了爲system_auth密鑰空間中的所有數據的讀取修復工作!