2015-11-24 52 views
2

我最近將cassandra dev集羣更新爲包含RoleManager支持的v2.2.2。我注意到最近通過CQL創建當新用戶:Cassandra 2.2.2無法創建登錄用戶/角色

CREATE ROLE abc WITH PASSWORD = 'abcde' AND LOGIN = true; 

CREATE USER abc WITH PASSWORD 'abcde'; 

在任一情況下,執行上述命令後,用戶無法登錄。檢查system_auth密鑰空間,我可以看到'行'寫在角色表中,但不是在憑證或用戶中。

如果我手動將相應的行插入憑據和用戶,然後纔可以我的用戶登錄。

還要注意,我不能刪除用戶'abc',直到該行被手動插入憑據和用戶。

這是怎麼回事 - 我誤用了CREATE USER/CREATE ROLE?在我看來,CREATE操作應該進行必要的設置。或者升級遷移以某種微妙的方式失敗?

回答

2

如果升級遷移過程順利完成,那麼你應該看到以下條目在日誌中:

Completed conversion of legacy users 
Completed conversion of legacy credentials 

如果是這種情況,那麼你需要手動刪除舊錶有:

DROP TABLE system_auth.users; 
DROP TABLE system_auth.credentials; 

這來自blog。卡桑德拉將繼續使用舊錶,直到它們被丟棄。

+0

解決了謝謝!可悲的是我讀了那篇博客文章,但顯然不是全部。 – RobH