Próbowałem zarówno z pycassa
, cassandra.cluster
i dse.cluster
bez wykonywania połączenia.Podłączanie python do kassandra klaster z okien z DseAuthenticator i DseAuthorizer
Czuję, że łączę się z niewłaściwym hostem, ponieważ piszę nazwę hosta serwerów linuksowych i nie precyzuję niczego w odniesieniu do kassandra.
Koledzy powiedzieli mi, że wiedzą tylko o łączeniu się z serwerem poprzez cqlsh
bezpośrednio na komputerze z systemem Linux. To brzmi nieprzyjemnie.
Konkretne konfiguracje w cassandra.yaml
authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator
authorizer: com.datastax.bdp.cassandra.auth.DseAuthorizer
co robię w pycassa: wiadomość
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')
Błąd:
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
Z 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')
wiadomość
Błąd:
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."',)})
spróbuj podłączyć do Cassandry używając tego samego hosta i poświadczeń z cqlsh aby sprawdzić, czy działa ... 'cqlsh 12345.mycompany.net -u fancycar -p becauseimbatman' –
@undefined_variable Dzięki za sugestię. Daje mi to błąd: '[[email protected] SYST: ~] # cqlsh 12345.mycompany.net -u fancycar -p boimbatman' 'Błąd połączenia: (" Nie można połączyć się z żadnym serwerem " , {'11 .111.11.11 ': error (None, "Próbowano połączyć z [('11 .111.11.11', 9042)]. Ostatni błąd: przekroczono limit czasu")}) ' Podczas logowania się" jak zwykle "działa: '[[email protected] SYST: ~] # cqlsh -u fancycar -p becauseimbatman' ' Połączono z 12345_cluster na 12345.firma.com:9042. [cqlsh 5.0.1 | Cassandra 3.0.11.1485 | DSE 5.0.5 | Specyfikacja CQL 3.4.0 | Natywny protokół v4] ' – MadsVJ
twoje drugie polecenie łączy się z localhostem podczas pierwszego połączenia ze zdalnym serwerem .. czy 12345.mycompany.net rozpoznaje ten sam host co localhost? –