我正在尝试使用代码启动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连接。
有什么想法吗?
答案 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();