ccleve
ccleve

Reputation: 15779

Cannot connect to embedded Cassandra

I'm trying to start Cassandra using code, and I can't connect to it. When I telnet to port 7000, it does connect, but when I try to connect to 9042 (the "native transport" port) I get a "connection refused". So, somehow, the native transport isn't happening.

My startup code:

File file = new File(home, "etc/cassandra.yaml");
System.setProperty("cassandra.config", "file:" + file.getPath());
CassandraDaemon cassandra = new CassandraDaemon();
cassandra.init(null);

My cassandra.yaml contains:

start_native_transport: true
native_transport_port: 9042

The logs indicate that Cassandra is starting. I see no reference in the logs to any native transport, even when the log level is set to DEBUG. No references to port 9042.

I'm on Windows. I don't think it's a firewall issue because I'm trying to connect from localhost.

Any ideas?

Upvotes: 0

Views: 1331

Answers (2)

doanduyhai
doanduyhai

Reputation: 8812

I've implemented an Embedded Cassandra Server in Achilles, example of working code here: https://github.com/doanduyhai/Achilles/blob/master/achilles-core/src/main/java/info/archinnov/achilles/embedded/CassandraEmbedded.java

CassandraDaemon cassandraDaemon = new CassandraDaemon();
cassandraDaemon.activate();

Upvotes: 1

pscuderi
pscuderi

Reputation: 1554

Have you tried calling the .start method?

Upvotes: 4

Related Questions