Cassandra kann nicht über R verbunden werden

Ich versuche einem Beispiel zu folgen, das auf "http://www.datastax.com/dev/blog/big-analytics-with-r-cassandra-and-hive"um R mit Cassandra zu verbinden. Folgendes ist mein Code:

library(RJDBC)

    #Load in the Cassandra-JDBC diver
    cassdrv <- JDBC("org.apache.cassandra.cql.jdbc.CassandraDriver", list.files("D:/cassandra/lib",pattern="jar$",full.names=T))

    #Connect to Cassandra node and Keyspace
    casscon <- dbConnect(cassdrv, "jdbc:cassandra://127.0.0.1:9042/demodb")

Wenn ich den obigen Code in R ausführe, erhalte ich folgende Fehlermeldung:

Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1],  : 
  java.sql.SQLNonTransientConnectionException: org.apache.thrift.transport.TTransportException: Read a negative frame size (-2113929216)!

Erhalten Sie auf dem Cassandra-Serverfenster den folgenden Fehler für den obigen Code:

ERROR 14:41:26,671 Unexpected exception during request
java.lang.ArrayIndexOutOfBoundsException: 34
        at org.apache.cassandra.transport.Message$Type.fromOpcode(Message.java:1
06)
        at org.apache.cassandra.transport.Frame$Decoder.decode(Frame.java:168)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDeco
der.java:425)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(Fram
eDecoder.java:303)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:26
8)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:25
5)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(Abstract
NioWorker.java:109)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNi
oSelector.java:312)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:90)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Ich habe versucht, den Port von 9042 auf 9160 zu ändern. In diesem Fall erreicht die Anforderung den Server nicht. Ich habe auch versucht, die Größe von zu erhöhenthrift_framed_transport_size_in_mb von 15 bis 500, aber der Fehler ist der gleiche.

Die Cassandra läuft ansonsten einwandfrei und die Datenbank kann einfach über "devcenter" verbunden / aktualisiert werden.

R version: R-3.1.0,
Cassandra version: 2.0.8,
Operating System: Windows,
XP Firewall: off

Antworten auf die Frage(1)

Ihre Antwort auf die Frage