Java mit Cassandra verbinden

Korvinus

Mitglied
Hallo,

ich habe die Aufgabe Daten aus Cassandra von unserem Server herauszuziehen.
Die Daten möchte ich später in Objekte speichern, vergleichen und bearbeiten.
Anschließend sollen die Daten wieder hochgeladen werden in Cassandra.
Die Sicherheitsrelevanten Daten habe ich mit xxx gekennzeichnet,
aber sie funktionieren. Kollegen arbeiten damit ich.

import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;


class Import {

public static void main(String[] args) {
String serverIp = "xxx.xxx.xxx.xxx";
String keyspace = "xxx";
String user = "xxx";
String password = "xxx";

Session session;
String cqlStatement;
Cluster cluster = Cluster.builder()
.addContactPoints(serverIp)
.withCredentials(user, password)
.build();

session = cluster.connect(keyspace);

cqlStatement = "SELECT * FROM lieferantendb";
for (Row row : session.execute(cqlStatement)) {
System.out.println(row.toString());
}
}
}

Ich bekomme allerdings folgende Fehlermeldungen:

"C:\Program Files\Java\jdk-9.0.1\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3.1\lib\idea_rt.jar=50967:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\Micha\IdeaProjects\Lieferantendatenbank\out\production\Lieferantendatenbank;C:\Program Files\Java\jdk-9.0.1\lib\src.zip;C:\Program Files\Java\jdk-9.0.1\lib\deploy.jar;C:\Program Files\Java\jdk-9.0.1\lib\javaws.jar;C:\Program Files\Java\jdk-9.0.1\lib\jrt-fs.jar;C:\Program Files\Java\jdk-9.0.1\lib\plugin.jar;C:\Program Files\Java\jdk-9.0.1\lib\java.jnlp.jar;C:\Program Files\Java\jdk-9.0.1\lib\ant-javafx.jar;C:\Program Files\Java\jdk-9.0.1\lib\javafx-swt.jar;C:\Program Files\Java\jdk-9.0.1\lib\jdk.deploy.jar;C:\Program Files\Java\jdk-9.0.1\lib\jdk.javaws.jar;C:\Program Files\Java\jdk-9.0.1\lib\jdk.plugin.jar;C:\Program Files\Java\jdk-9.0.1\lib\guava-16.0.1.jar;C:\Program Files\Java\jdk-9.0.1\lib\plugin-legacy.jar;C:\Program Files\Java\jdk-9.0.1\lib\jdk.plugin.dom.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-api-1.7.5.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-api-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-ext-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\netty-3.9.0.Final.jar;C:\Program Files\Java\jdk-9.0.1\lib\metrics-core-3.0.2.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-jdk14-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\jul-to-slf4j-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\jcl-over-slf4j-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-migrator-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\osgi-over-slf4j-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\log4j-over-slf4j-1.7.25.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-api-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-ext-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-jcl-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-nop-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-jdk14-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\cassandra-driver-core-2.0.2.jar;C:\Program Files\Java\jdk-9.0.1\lib\jul-to-slf4j-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-simple-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-android-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\slf4j-log4j12-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\jcl-over-slf4j-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\osgi-over-slf4j-1.7.25-sources.jar;C:\Program Files\Java\jdk-9.0.1\lib\log4j-over-slf4j-1.7.25-sources.jar" Import
Jan. 03, 2018 10:31:19 VORM. com.datastax.driver.core.FrameCompressor$SnappyCompressor <clinit>
WARNUNG: Cannot find Snappy class, you should make sure the Snappy library is in the classpath if you intend to use it. Snappy compression will not be available for the protocol.
Jan. 03, 2018 10:31:19 VORM. com.datastax.driver.core.FrameCompressor$LZ4Compressor <clinit>
WARNUNG: Cannot find LZ4 class, you should make sure the LZ4 library is in the classpath if you intend to use it. LZ4 compression will not be available for the protocol.
Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.TransportException: [/127.0.0.1:9042] Cannot connect))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:196)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104)
at com.datastax.driver.core.Cluster.init(Cluster.java:121)
at com.datastax.driver.core.Cluster.connect(Cluster.java:198)
at com.datastax.driver.core.Cluster.connect(Cluster.java:226)
at Import.main(Import.java:21)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jboss.netty.util.internal.ByteBufferUtil (file:/C:/Program%20Files/Java/jdk-9.0.1/lib/netty-3.9.0.Final.jar) to method java.nio.DirectByteBuffer.cleaner()
WARNING: Please consider reporting this to the maintainers of org.jboss.netty.util.internal.ByteBufferUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Process finished with exit code 1

Ich weiß nicht genau wo das Problem liegt.
Hat Jemand vielleicht eine Idee was ich machen soll?
 

olfibits

Aktives Mitglied
WARNING: Please consider reporting this to the maintainers of org.jboss.netty.util.internal.ByteBufferUtil
Sagt doch alles, oder?
Intern in dieser Bibliothek tritt ein Fehler auf. Und der soll den Entwicklern der genannten Package gemeldet werden, denke ich.
 

Korvinus

Mitglied
Ja, aber es kann ja nicht die Lösung sein einen Fehler an Entwickler eines Packages zu melden.
Das Programm muss ja irgendwie laufen. Wisst ihr vielleicht eine Alternative oder Workaround?
Ich habe auch gehört es kann mit inkompatiblen Versionen zusammen hängen.
Leider mache ich das zum ersten mal und weiß nicht genau was ich jetzt machen soll.
 

olfibits

Aktives Mitglied
OK, aber neben dem Fehler, der zu berichten wäre, gibt es noch 3 andere, die mir sofort ins Auge stechen.

Jan. 03, 2018 10:31:19 VORM. com.datastax.driver.core.FrameCompressor$SnappyCompressor <clinit>
WARNUNG: Cannot find Snappy class, you should make sure the Snappy library is in the classpath if you intend to use it. Snappy compression will not be available for the protocol.

Da stimmt irgendwas mit einem Classpath nicht.

Jan. 03, 2018 10:31:19 VORM. com.datastax.driver.core.FrameCompressor$LZ4Compressor <clinit>
WARNUNG: Cannot find LZ4 class, you should make sure the LZ4 library is in the classpath if you intend to use it. LZ4 compression will not be available for the protocol.

Hier dasselbe.

Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.TransportException: [/127.0.0.1:9042] Cannot connect))
Hier kann offensichtlich mit dem Server nicht verbunden werden. Hast du die richtigen Daten?
 

truesoul

Top Contributor
Hallo.

Ich sehe bei dir nur serverIp aber kein Port?
Der Port in der Fehlermeldung 9042 ist vermutlich nicht richtig.

Grüße
 

Korvinus

Mitglied
Ja, die Daten sind korrekt, da mein Arbeitskollege mit seinem PHP-Skript auch mit diesen Daten zugreifen kann.
Der Server ist auch online und läuft. Mein Java-Programm bekommt allerdings keine Verbindung hin.

Ist das mein Classpath?
C:\Program Files\Java\jdk-9.0.1\lib
 

Korvinus

Mitglied
Hallo.

Ich sehe bei dir nur serverIp aber kein Port?
Der Port in der Fehlermeldung 9042 ist vermutlich nicht richtig.

Grüße
Wo kann ich den Port einstellen? Wenn ich den Port einstelle mit xxx.xxx.xxx.xxx:port funktioniert es auch nicht.
Die IP lautet auch nicht 127.0.0.1, sondern ist eine öffentliche IP-Adresse im Internet vom Server.
 

Korvinus

Mitglied
Der Host ist aber erreichbar. Ich habe jetzt auch den Port eingestellt.
Als Port habe ich eben mal die 7000 und die 9042 versucht.
 

Korvinus

Mitglied
Nein, es läuft unter einer anderen IP-Adresse.
Wir haben einen Server auf den ich zugreifen möchte.
Das läuft momentan nicht lokal
 

Korvinus

Mitglied
Tue ich ja. 185.48.xxx.57 ist die IP.
Ich kann die IP-Adresse auch anpingen.
Und wie gesagt bei Kollegen läuft die Verbindung mittels php

String serverIp = "185.48.xxx.57";
String keyspace = "xxx";
String user = "xxx";
String password = "xxx";

Session session;
String cqlStatement;
Cluster cluster = Cluster.builder().addContactPoint(serverIp).withPort(9042).withCredentials(user, password).build();
 

truesoul

Top Contributor
Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.TransportException: [/127.0.0.1:9042] Cannot connect))

Was mich aber wundert ist, dass in der Fehlermeldung speziell deine Maschine steht.

Also da ich das Problem noch nicht so hatte, kann dir evtl. ein anderer helfen oder Google hilft.

Sorry
 

Korvinus

Mitglied
So ich habe jetzt nochmal von neu begonnen. Ich habe Ubuntu 16.04 mit Java8 und Intellij installiert.
Ich habe auch Cassandra installiert und zum laufen gebracht (lokal)
Kann mir Jemand eine Schritt für Schritt anleitung geben, was ich tun muss um:

1. Cassandra einzurichten, sodass ich eine Testdatenbank habe
2. In IntelliJ mittels Java auf Cassandra zugreifen zu können um Daten zu ziehen
3. Diese Daten dann in Java bearbeitn zu können.


=======================================
Muss ich folgendes irgendwo einbinden? Wenn ja wie?
=======================================
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>3.3.0</version>
</dependency>

Note that the object mapper is published as a separate artifact:

Copy
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-mapping</artifactId>
<version>3.3.0</version>
</dependency>

The ‘extras’ module is also published as a separate artifact:

Copy
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-extras</artifactId>
<version>3.3.0</version>
</dependency>
=======================================
Was ist Maven? Was hat das mit Maven zutun?
=======================================

=======================================
Wie kann ich die imports machen? Bisher hat er die Daten nie gefunden
=======================================
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.Session;


Später möchte ich natürlich immernoch Daten vom richtigen Ubuntu Server mit Cassandra Daten abgreifen.
Nur ich wollte erstmal schauen wie das Ganze lokal funktioniert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
dzim Cassandra Cluster DB und der Java-Treiber Datenbankprogrammierung 1
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
P Reicht finally nicht um DB connections zu schließen in (altem) Java? Datenbankprogrammierung 4
A Java DB Server lässt sich nicht starten Datenbankprogrammierung 3
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
U SQL Server mit Java verbinden Datenbankprogrammierung 5
D SQLite Datenbank in Android Studio (Java) durchsuchen Datenbankprogrammierung 3
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Noobfrage: Konvertierung von SQL-Datentyp 'timestamp with time zone' in Java-Datentyp Datenbankprogrammierung 3
Zrebna Lediglich interne DB-Verbindungen (Connections) auslesen - mittels Java Datenbankprogrammierung 4
berserkerdq2 Was genau muss ich bei date eingeben, wenn ich in Java eine Spalte definiere, die date ist? Datenbankprogrammierung 1
berserkerdq2 Was kann passieren, wenn ich in java einstelle, dass der Fremdschüssel ein Attribut ist, welches selber kein Primärschlüssel ist? Datenbankprogrammierung 4
berserkerdq2 Foreign key einstellen java Datenbankprogrammierung 4
nikgo Java SQL Ausgabe in Liste o.ä. abspeichern um mit dem Ergbnis "zu arbeiten"? Datenbankprogrammierung 5
S Datenbankprogrammierung in Java unter NetBeans 12 funktioniert nicht! Datenbankprogrammierung 1
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
S ODBC Treiber in Java Editor einbinden Datenbankprogrammierung 3
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
H Java Class zum komprimieren von Jpeg-Images zum Einbinden in Oracle DB - Bild als blob (in und out) Datenbankprogrammierung 23
V SQLite java.sql.SQLException: no such column: Datenbankprogrammierung 18
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Slaylen Java List Suchen mit eigenem Generischen Datentyp Datenbankprogrammierung 10
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
D SQL Server Android App: 'int java.lang.String.length()' on a null object reference Datenbankprogrammierung 15
P USER Management in SQL übergreifend auf JAVA Programm Datenbankprogrammierung 1
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
N java SQL JAR - Probleme Datenbankprogrammierung 18
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
N SQL-Statement Java Variable in SQL DB einfügen Datenbankprogrammierung 1
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
T Java Spiel Daten speichern Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
L Mybatis Datenbankabfragen in Java Datenbankprogrammierung 1
H MariaDB-Zugriff mittels Java SE Datenbankprogrammierung 3
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
S Datenbank MySQL und Java Datenbankprogrammierung 8
S Beispiel-Blockchain + GUI mit Java erstellen Datenbankprogrammierung 0
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
Trèfle SQLite SQL-Java Änderungen ausgeben Datenbankprogrammierung 1
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
A MySQL Select und Insert in Java Datenbankprogrammierung 15
C Derby/JavaDB Auf Variable aus Link in java server page zugreifen Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
F MySQL Einfügen von Datensätzen über Java Datenbankprogrammierung 8
B CSV in Java einbinden und Rechnung Datenbankprogrammierung 7
L Speicherverbrauch Java Anwendung mit einer Datenbankanbindung Datenbankprogrammierung 19
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
S Datenbank/Java true/false Datenbankprogrammierung 8
S Java und SQL-Befehle Datenbankprogrammierung 6
L INSERT INTO Befehl in Java Datenbankprogrammierung 8
L Datenbankprogrammierung mit Java und phpMyAdmin Datenbankprogrammierung 4
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
D Installation von MariaDB in java und eclipse Datenbankprogrammierung 2
H Datenbank Export mit Java Datenbankprogrammierung 3
I MariaDB-Verbindung in JAVA Datenbankprogrammierung 11
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29
W Daten in Java intern abfragen Datenbankprogrammierung 1
W MySQL Ausgabe von Datenbank in Java-App Datenbankprogrammierung 6
D Java Datenbanken Datenbankprogrammierung 1
Y H2 H2 foreign key in Spark Java ausgeben Datenbankprogrammierung 1
J Java Eclipse Hilfe beim Programmieren Datenbankprogrammierung 7
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
C Mit asm laufende Java Anwendung manipulieren Datenbankprogrammierung 1
W Wie liest dieses Java-Programm der Compiler? Datenbankprogrammierung 3
K Java Datenbank auslesen Datenbankprogrammierung 8
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K HSQLDB .sql Script Aufruf über Java Datenbankprogrammierung 7
B Java Programm und Dantebank umlagern Datenbankprogrammierung 25
B MySQL bplaced Datenbank mit Java ansprechen Datenbankprogrammierung 11
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
F Java Objekte in einer Datenbank speichern Datenbankprogrammierung 4
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
O PostgreSQL Java Row Index erhalten Datenbankprogrammierung 1
H Entity in Java implementieren Datenbankprogrammierung 13
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
D MySQL Many to Many Tabellen in Java abbilden? Datenbankprogrammierung 4
P Datanbank für Java-Programmierung Datenbankprogrammierung 10
F Java SQLite Error Datenbankprogrammierung 19
F SQL Datenbank an Java Code anbinden Datenbankprogrammierung 5
J Java 8 und Microsoft Access Database-Dateien(mdb) Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
M Wie übergebe ich Datenbankobjekte aus einer sql-Datenbank einer Java Klasse bzw. Instanz Datenbankprogrammierung 7
D Zeit von SQL nach Java Datenbankprogrammierung 2
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
M Java Datenbankanbindung funktioniert nicht Datenbankprogrammierung 4
N Wie in Java Zugriffe und Updates auf eine Datenbank regeln ? Datenbankprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben