无法连接到嵌入式Cassandra

时间:2013-10-21 20:09:01

标签: java cassandra

我正在尝试使用代码启动Cassandra,但我无法连接到它。当我telnet到端口7000,它确实连接,但当我尝试连接到9042(“本地传输”端口)时,我得到“连接被拒绝”。所以,不知何故,原生运输没有发生。

我的启动代码:

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

我的cassandra.yaml包含:

start_native_transport: true
native_transport_port: 9042

日志表明Cassandra正在开始。即使日志级别设置为DEBUG,我也看不到日志中对任何本机传输的引用。没有引用端口9042。

我在Windows上。我不认为这是防火墙问题,因为我正在尝试从localhost连接。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

您是否尝试过调用.start方法?

答案 1 :(得分:1)

我在Achilles中实现了一个嵌入式Cassandra服务器,这里有代码工作示例:https://github.com/doanduyhai/Achilles/blob/master/achilles-core/src/main/java/info/archinnov/achilles/embedded/CassandraEmbedded.java

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