gpt4 book ai didi

java - 无法连接到 Cassandra : java. lang.NoSuchMethodError : com. google.common.util.concurrent.Futures.withFallback

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:11 25 4
gpt4 key购买 nike

<分区>

我正在尝试使用 Java (Hadoop2) 连接到 cassandra,但它抛出了以下错误

Connecting to IP Address 127.0.0.1:9042...
16/04/12 10:35:13 INFO core.NettyUtil: Found Netty's native epoll transport in the classpath, using it
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.util.concurrent.Futures.withFallback(Lcom/google/common /util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent /FutureFallback;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
at com.datastax.driver.core.Connection.initAsync(Connection.java:177)
at com.datastax.driver.core.Connection$Factory.open(Connection.java:731)
at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:251)
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:199)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:77)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1414)
at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:393)
at cassandra.CassandraConnector.connect(CassandraConnector.java:42)
at cassandra.Main.main(Main.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
  • 请查看cassandra环境详情::

    • 在 127.0.0.1:9042 连接到测试集群。
    • [cqlsh 5.0.1 | Cassandra 2.2.5 | CQL 规范 3.3.1 | native 协议(protocol) v4]
  • 我正在使用的 jar ::

    • cassandra-driver-core-3.0.0.jar
    • guava-19.0.jar
    • netty-all-4.1.0.CR7.jar

我试过其他 jar (guava >=16.01 ,netty-all-4.0...,cassandra-driver-core-2.2.0)。但它总是会抛出或多或少类似的错误。

请看下面用于建立连接的代码片段:

public void connect(final String node, final int port)

{

this.cluster = Cluster.builder().addContactPoint(node).withPort(port)
.build();

final Metadata metadata = cluster.getMetadata();
ProtocolVersion myCurrentVersion = cluster.getConfiguration()
.getProtocolOptions()
.getProtocolVersion();
System.out.println(myCurrentVersion);

out.printf("Connected to cluster: %s\n", metadata.getClusterName());

for (final Host host : metadata.getAllHosts())

{

out.printf("Datacenter: %s; Host: %s; Rack: %s\n",

host.getDatacenter(), host.getAddress(), host.getRack());

}

session = cluster.connect();

}

public static void main(String[] args) {
// TODO Auto-generated method stub

final CassandraConnector client = new CassandraConnector();

final String ipAddress = args.length > 0 ? args[0] : "127.0.0.1";

final int port = args.length > 1 ? Integer.parseInt(args[1]) : 9042;

out.println("Connecting to IP Address " + ipAddress + ":" + port + "...");

client.connect(ipAddress, port);

client.close();

}

我想可能是因为版本冲突,但是找不到正确的版本。检查了其他一些类似的帖子并尝试了解决方案(使用不同的 jar )但无法解决问题任何帮助将不胜感激。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com