首页 文章

datastax cassandra java NoHostAvailableException

提问于
浏览
1

有一个Apache Cassandra 3.7版的全新安装

安装成功,我可以访问cqlsh没有任何问题 .

[dpmuser @ LOGDPM01 bin] $ cqlsh在127.0.0.1:9042连接到Test Cluster . [cqlsh 5.0.1 | Cassandra 3.7 | CQL规范3.4.2 |原生协议v4]

但是当我尝试通过DataStax Cassandra客户端连接时,我遇到了NoHostAvailableException .

这是我试过的示例代码

import com.datastax.driver.core.*;
public class DBHitTEst {
public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    Session session = null; 
    Cluster cluster = Cluster.builder()
            .addContactPoints("127.0.0.1").withPort(9042)
            .build();
    System.out.println("Connecting to cluster ...");
    session = cluster.connect();
    System.out.print("Connected !"+session);
}}

控制台中的例外如下所示 .

SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder” . SLF4J:默认为无操作(NOP) Logger 实现SLF4J:有关更多详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder . 连接到集群... Aug 10,2017 7:58:23 AM io.netty.channel.ChannelInitializer channelRegistered警告:无法初始化 Channels . 结束:[id:0x7d2724c5] java.lang.NoSuchMethodError:io.netty.util.AttributeKey.valueOf(Ljava / lang / String;)Lio / netty / util / AttributeKey; at com.datastax.driver.core.Message . (Message.java:39)at com.datastax.driver.core.Connection $ Initializer.initChannel(Connection.java:1425) . . . 线程“main”中的异常com.datastax.driver.core.exceptions.NoHostAvailableException:尝试查询的所有主机都失败(尝试:/127.0.0.1:9042(com.datastax.driver.core.exceptions.TransportException:[ /127.0.0.1:9042]无法连接))com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:232)at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79)at com.datastax.driver.core.Cluster $ Manager.negotiateProtocolVersionAndConnect(Cluster.java:1600)at com.datastax.driver.core.Cluster $ Manager.init(Cluster.java:1518)at com.datastax.driver.core . Cluster.init(Cluster.java:159)at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:330)at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:305)at com .datastax.driver.core.Cluster.connect(Cluster.java:247)at com.cassandra.db.executables.DBHitTEst.main(DBHitTEst.java:14)

Libraries References

cassandra-driver-core-3.3.0.jar
guava-23.0.jar
log4j-api-2.8.2.jar
metrics-core-3.0.2.jar
netty-all-4.0.9.Final.jar
slf4j-api-1.7.25.jar

Important configs is cassandra.yaml

start_rpc: false
start_native_transport: true
native_transport_port: 9042
rpc_address: localhost
rpc_port: 9160
listen_address: localhost
seeds: "127.0.0.1"

Other system particulars

[dpmuser@LOGDPM01 conf]$ hostname
LOGDPM01

[dpmuser@LOGDPM01 conf]$ more /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[dpmuser@LOGDPM01 conf]$ ping LOGDPM01
PING LOGDPM01 (10.0.2.15) 56(84) bytes of data.
64 bytes from LOGDPM01 (10.0.2.15): icmp_seq=1 ttl=64 time=0.055 ms

运行centos VM.Kindly让我知道我哪里错了?

1 回答

  • 0

    图书馆不匹配正在抛出我在控制台中观察到的警告 .

    警告:无法初始化通道 . 结束:[id:0x7d2724c5] java.lang.NoSuchMethodError:io.netty.util.AttributeKey.valueOf(Ljava / lang / String;)Lio / netty / util / AttributeKey; at com.datastax.driver.core.Message . (Message.java:39)at com.datastax.driver.core.Connection $ Initializer.initChannel(Connection.java:1425) . . .

    从Cassandra安装的lib文件夹中选择正确的库时,直接对问题进行了排序 .

相关问题