2017-03-07 4 views
0

Ich habe versucht, eine externe Cassandra für meine Lagom-Setup einzurichten. Lagom externe Cassandra Authentifizierung

In Wurzel pom ich geschrieben habe

    <configuration> 
         <unmanagedServices> 
          <cas_native>http://ip:9042</cas_native> 
         </unmanagedServices> 
         <cassandraEnabled>false</cassandraEnabled> 
        </configuration> 

In meinem impl application.conf

akka { 
persistent { 
    journal { 
    akka.persistence.journal.plugin = "this-cassandra-journal" 

     this-cassandra-journal { 
     contact-points = ["10.15.2.179"] 
     port = 9042 
     cluster-id = "cas_native" 

     keyspace = "hello" 

     authentication.username = "cassandra" 
     authentication.password = "rodney" 
     # Parameter indicating whether the journal keyspace should be auto created 
     keyspace-autocreate = true 

     # Parameter indicating whether the journal tables should be auto created 
     tables-autocreate = true 
     } 
    } 

    snapshot-store { 
    akka.persistence.snapshot-store.plugin = "this-cassandra-snapshot-store" 

     this-cassandra-snapshot-store { 
     contact-points = ["10.15.2.179"] 
     port = 9042 
     cluster-id = "cas_native" 

     keyspace = "hello_snap" 
     authentication.username = "cassandra" 
     authentication.password = "rodney" 
     # Parameter indicating whether the journal keyspace should be auto created 
     keyspace-autocreate = true 

     # Parameter indicating whether the journal tables should be auto created 
     tables-autocreate = true 
     } 
    } 

} 

aber ich habe den Fehler

[warn] a.p.c.j.CassandraJournal - Failed to connect to Cassandra and initialize. 
It will be retried on demand. Caused by: Authentication error on host /10.15.2. 
179:9042: Host /10.15.2.179:9042 requires authentication, but no authenticator f 
ound in Cluster configuration 
[warn] a.p.c.s.CassandraSnapshotStore - Failed to connect to Cassandra and initi 
alize. It will be retried on demand. Caused by: Authentication error on host /10 
.15.2.179:9042: Host /10.15.2.179:9042 requires authentication, but no authentic 
ator found in Cluster configuration 
[warn] a.p.c.j.CassandraJournal - Failed to connect to Cassandra and initialize. 
It will be retried on demand. Caused by: Authentication error on host /10.15.2. 
179:9042: Host /10.15.2.179:9042 requires authentication, but no authenticator f 
ound in Cluster configuration 
[error] a.c.s.PersistentShardCoordinator - Persistence failure when replaying ev 
ents for persistenceId [/sharding/ProductCoordinator]. Last known sequence numbe 
r [0] 
com.datastax.driver.core.exceptions.AuthenticationException: Authentication erro 
r on host /10.15.2.179:9042: Host /10.15.2.179:9042 requires authentication, but 
no authenticator found in Cluster configuration 
     at com.datastax.driver.core.AuthProvider$1.newAuthenticator(AuthProvider 
.java:40) 
     at com.datastax.driver.core.Connection$5.apply(Connection.java:250) 
     at com.datastax.driver.core.Connection$5.apply(Connection.java:234) 
     at com.google.common.util.concurrent.Futures$AsyncChainingFuture.doTrans 
form(Futures.java:1442) 
     at com.google.common.util.concurrent.Futures$AsyncChainingFuture.doTrans 
form(Futures.java:1433) 
     at com.google.common.util.concurrent.Futures$AbstractChainingFuture.run(
Futures.java:1408) 
     at com.google.common.util.concurrent.Futures$2$1.run(Futures.java:1177) 
     at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService 
.execute(MoreExecutors.java:310) 
     at com.google.common.util.concurrent.Futures$2.execute(Futures.java:1174 
) 

Ich habe auch versucht, diese Konfiguration bietet

lagom.persistence.read-side { 
    cassandra { 
    } 
} 

Wie funktioniert es, indem Anmeldeinformationen für Cassandra bereitgestellt werden?

Antwort

4

In Lagom, können Sie bereits verwenden akka-persistence-cassandra Einstellungen für Ihre journal und snapshot-store (siehe reference.conf im source code und nach unten scrollen für cassandra-snapshot-store.authentication.*). Es gibt keine Notwendigkeit, es zu konfigurieren, da Lagom Unterstützung für Cassandra Persistenz bereits akka-persistence-cassandra als Implementierung Akka Persistenz erklärt:

akka.persistence.journal.plugin = cassandra-journal akka.persistence.snapshot-store.plugin = cassandra-snapshot-store

Siehe https://github.com/lagom/lagom/blob/c63383c343b02bd0c267ff176bfb4e48c7202d7d/persistence-cassandra/core/src/main/resources/play/reference-overrides.conf#L5-L6

Der dritte letzte Bit zu konfigurieren, wenn Lagom zu Cassandra Verbinden Lagom die lesen -Seite. Dies ist auch über application.conf möglich, wenn Sie the defaults überschreiben.

Beachten Sie, dass jeder Speicher einen anderen Cassandra Ring/Keyspace/credentials/... verwendet, damit Sie ihn separat einstellen können.

Siehe zusätzliche Informationen in der Lagom docs.

+0

Vielen Dank für Ihre Antwort. Ich habe meine Cassandra Version auf 3.0 geändert und es hat angefangen zu arbeiten. Wie auch immer, ich habe wenige Fragen, zuerst ist mein Projekt in Maven. Aus Debug-Protokollen weiß ich nicht, ob es tatsächlich mit Cassandra verbunden war oder nicht. Auch mein Schlüsselraum ist nicht im Cassandra Server vorhanden, den ich gerade betreibe. Als ich ein sbt-Projekt ausführte, sah ich, dass der Schlüsselbereich erstellt wurde und auch einige Debug-Protokolle. Zweitens muss Cluster-ID immer "cas_native" sein? –

Verwandte Themen