我正在學習並剛剛安裝我的cassandra集羣,並嘗試使用python作爲客戶端與它進行交互。在yaml中,我將驗證器設置爲PasswordAuthenticator。如何在python中將用戶名和密碼傳遞給cassandra
所以現在我打算提供我的用戶名和密碼到連接功能,但找不到放置它們的位置。
cluster = Cluster(hosts)
session = cluster.connect(keyspace)
基本上,你只提供主機和密鑰空間。文檔類型建議與匿名連接? http://datastax.github.io/python-driver/getting_started.html#connecting-to-cassandra
如果我只是使用的例子,我會收到以下錯誤
raise NoHostAvailable("Unable to connect to any servers", errors)
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'hou722067': AuthenticationFailed('Remote end requires authentication.',)})
是通過一些配置文件提供的認證信息?它看起來像一個非常基本的功能,我無法想象它不包含在python客戶端驅動程序中。我一定錯過了什麼。
總之,我的問題是:如何使用python登錄cassandra?
在此先感謝您的任何提示!
============================================== === 明白了。
我應該在auth_provider字段中提供用戶名和密碼,該字段是一個函數,返回包含具有適當字符串值的「用戶名」和「密碼」鍵的字典。
喜歡的東西 DEF getCredential(個體,主機): 憑證= { '的用戶名': 'MYUSER', '密碼': 'MYPASSWORD'} 返回憑證
簇=羣集(節點,auth_provider = getCredential)
如果你已經找到了解決您的問題,那麼請張貼和接受它作爲答案。這將使其他用戶知道這個問題已經解決。 –
我是一個新成員,系統不會讓我在10天左右回答自己的問題。這就是爲什麼我只是在更新後的帖子。一旦系統允許我這樣做,我會回答。 – drakihsu