comandos - Conectando python a cassandra un clúster desde Windows con DseAuthenticator y DseAuthorizer
cqlsh commands (1)
Se corrigió utilizando dse.auth PlainTextAuthProvider en lugar de Cassandra ..
from dse.cluster import Cluster
# pip install dse-driver
from dse.auth import PlainTextAuthProvider
auth_provider = PlainTextAuthProvider(
username=''fancycar'', password=''becauseimbatman '')
cluster = Cluster(contact_points=[''12345.mycompany.net''],
port=9042, auth_provider=auth_provider)
session = cluster.connect(''batcave'')
print "connected"
print session.execute("SELECT * FROM robinstears")[0]
Lo intenté con pycassa
, cassandra.cluster
y dse.cluster
sin hacer una conexión.
Siento que me estoy conectando con el host equivocado, ya que estoy escribiendo el nombre de host de los servidores de Linux y no especificando nada sobre la casandra.
Los colegas me han dicho que solo saben de conectarse al servidor a través de cqlsh
línea en la máquina Linux. Eso suena poco convincente.
Configuraciones específicas en cassandra.yaml
authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator
authorizer: com.datastax.bdp.cassandra.auth.DseAuthorizer
Lo que estoy haciendo en pycassa:
import pycassa
URIPORTLIST = [''12345.mycompany.net:9420'']
pool = pycassa.ConnectionPool(''my_keyspace'', server_list=URIPORTLIST,credentials={''USERNAME'':''fancycar'',''PASSWORD'':''becauseimbatman''}, prefill=False)
cf = pycassa.ColumnFamily(pool, ''my_table'')
Mensaje de error:
AllServersUnavailable: An attempt was made to connect to each of the servers twice, but none of the attempts succeeded. The last failure was TTransportException: Could not connect to 12345.mycompany.net:9420
Con dse.cluster
from dse.cluster import Cluster
auth_provider = PlainTextAuthProvider(
username=''fancycar'', password=''becauseimbatman'')
cluster = Cluster(
[''12345.mycompany.net''],
port=9042,auth_provider=auth_provider)
session = cluster.connect(''my_keyspace'')
Mensaje de error:
NoHostAvailable: (''Unable to connect to any servers'', {''11.111.11.1'': AuthenticationFailed(''Failed to authenticate to 11.111.11.2: Error from server: code=0100 [Bad credentials] message="Failed to login. Please re-try."'',)})