使用Cassandra Java驱动程序播放2.x-错误com.datastax.Driver.core.Session-创建到xxx.xx的池时出错,但返回响应

使用Cassandra Java驱动程序播放2.x-错误com.datastax.Driver.core.Session-创建到xxx.xx的池时出错,但返回响应,java,amazon-ec2,cassandra,playframework-2.0,cluster-computing,Java,Amazon Ec2,Cassandra,Playframework 2.0,Cluster Computing,设置 CassandraJava驱动程序:2.1.3、2.1.4、2.0.0(全部试用) 卡桑德拉集群:[cqlsh 5.0.1 |卡桑德拉2.1.0 | CQL规范3.2.0| 本机协议v3] 重头戏2.2.3 在访问一个简单的表时,我发现上面的设置存在以下问题。但我也得到了日志中的回复。我在EC2、2节点单数据中心上运行服务器。也尝试了EC2 AMI,但结果相同。此外,这是一个非常新的设置,服务器上还没有负载 卡桑德拉配置 rpc_address : 0.0.0.0 listen_add

设置

  • CassandraJava驱动程序:2.1.3、2.1.4、2.0.0(全部试用)
  • 卡桑德拉集群:[cqlsh 5.0.1 |卡桑德拉2.1.0 | CQL规范3.2.0| 本机协议v3]
  • 重头戏2.2.3
在访问一个简单的表时,我发现上面的设置存在以下问题。但我也得到了日志中的回复。我在EC2、2节点单数据中心上运行服务器。也尝试了EC2 AMI,但结果相同。此外,这是一个非常新的设置,服务器上还没有负载

卡桑德拉配置

rpc_address : 0.0.0.0
listen_address : internal_ip
broadcast_address: public_ip
start_native_transport: true
native_transport_port: 9042
代码片段

        SocketOptions options = new SocketOptions();
        options.setConnectTimeoutMillis(10000);
        options.setReadTimeoutMillis(10000);

        cluster = Cluster.builder().addContactPoints("public_ip1","public_ip2").withPort(9042).withSocketOptions(options).withRetryPolicy(DowngradingConsistencyRetryPolicy.INSTANCE)
                .withReconnectionPolicy(new ConstantReconnectionPolicy(1000L)).build();

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

        session = cluster.connect();

        // Use select to get the user we just entered
        ResultSet results = session.execute("SELECT * FROM redmart.user_pick_rate");
        for (Row row : results) {
            System.out.println( "user_id : " + row.getInt("user_id") + " pick_rate : " + row.getDouble("pick_rate"));
        }
根据下面的异常,它总是向Java客户端中的一个节点抱怨“创建池到/internal_ip:9042时出错”。例如,如果我有node1,node2。在javaclient中,如果我只使用node1创建集群,它会抱怨无法创建池到(node2的内部ip),如果我使用node2创建集群,它会抱怨无法创建池到(node1的内部ip)。如果我同时指定了这两个节点,它将始终显示为其中一个节点创建池时出错。我也尝试了不同的网络版本

我在中看到了类似的未解决问题,但在我的情况下,我也得到了回应

任何见解都将不胜感激

11:59:31.791 [Cassandra Java Driver worker-0] ERROR com.datastax.driver.core.Session -     Error creating pool to /10.167.135.180:9042
com.datastax.driver.core.TransportException: [/10.167.135.180:9042] Cannot connect

at com.datastax.driver.core.Connection.<init>(Connection.java:104) ~     
at com.datastax.driver.core.SingleConnectionPool.<init>(SingleConnectionPool.java:76) ~[cassandra-driver-core-2.1.4.jar:na]
at   com.datastax.driver.core.HostConnectionPool.newInstance(HostConnectionPool.java:35) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.driver.core.SessionManager.replacePool(SessionManager.java:271) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.driver.core.SessionManager.access$400(SessionManager.java:40) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:308) [cassandra-driver-core-2.1.4.jar:na]
at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:300) [cassandra-driver-core-2.1.4.jar:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_71]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
Caused by: com.datastax.shaded.netty.channel.ConnectTimeoutException: connection timed out: /10.167.135.180:9042
at com.datastax.shaded.netty.channel.socket.nio.NioClientBoss.processConnectTimeout(NioClientBoss.java:137) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.shaded.netty.channel.socket.nio.NioClientBoss.process(NioClientBoss.java:83) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.shaded.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.shaded.netty.channel.socket.nio.NioClientBoss.run(NioClientBoss.java:42) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.shaded.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) ~[cassandra-driver-core-2.1.4.jar:na]
at com.datastax.shaded.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) ~[cassandra-driver-core-2.1.4.jar:na]
... 3 common frames omitted
user_id : 6555 pick_rate : 0.4494318731691269
user_id : 1000 pick_rate : 7.132659816872288E-4
11:59:31.791[Cassandra Java Driver worker-0]错误com.datastax.Driver.core.Session-创建池至/10.167.135.180:9042时出错
com.datastax.driver.core.TransportException:[/10.167.135.180:9042]无法连接
在com.datastax.driver.core.Connection.(Connection.java:104)~
在com.datasax.driver.core.SingleConnectionPool.(SingleConnectionPool.java:76)~[cassandra-driver-core-2.1.4.jar:na]
在com.datasax.driver.core.HostConnectionPool.newInstance(HostConnectionPool.java:35)~[cassandra-driver-core-2.1.4.jar:na]
在com.datasax.driver.core.SessionManager.replacePool(SessionManager.java:271)~[cassandra-driver-core-2.1.4.jar:na]
在com.datasax.driver.core.SessionManager.access$400(SessionManager.java:40)~[cassandra-driver-core-2.1.4.jar:na]
在com.datasax.driver.core.SessionManager$3.call(SessionManager.java:308)[cassandra-driver-core-2.1.4.jar:na]
在com.datasax.driver.core.SessionManager$3.call(SessionManager.java:300)[cassandra-driver-core-2.1.4.jar:na]
在java.util.concurrent.FutureTask.run(FutureTask.java:262)[na:1.7.071]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[na:1.7.071]
在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[na:1.7.071]
在java.lang.Thread.run(Thread.java:745)[na:1.7.0_71]
原因:com.datastax.shade.netty.channel.ConnectTimeoutException:连接超时:/10.167.135.180:9042
在com.datastax.shaded.netty.channel.socket.nio.NioClientBoss.processConnectTimeout(NioClientBoss.java:137)~[cassandra-driver-core-2.1.4.jar:na]
在com.datastax.shaded.netty.channel.socket.nio.NioClientBoss.process(NioClientBoss.java:83)~[cassandra-driver-core-2.1.4.jar:na]
在com.datastax.shaded.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)~[cassandra-driver-core-2.1.4.jar:na]
在com.datastax.shaded.netty.channel.socket.nio.NioClientBoss.run(NioClientBoss.java:42)~[cassandra-driver-core-2.1.4.jar:na]
在com.datasax.shaded.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)~[cassandra-driver-core-2.1.4.jar:na]
在com.datastax.shaded.netty.util.internal.deadlockproof worker$1.run(deadlockproof worker.java:42)~[cassandra-driver-core-2.1.4.jar:na]
... 省略3个公共框架
用户id:6555拾取率:0.4494318731691269
用户id:1000拾取率:7.132659816872288E-4

尝试使用非
rpc\u地址:0.0.0.0


在我看来,这是本地客户端的阻塞。尝试使用专用IP(不确定它是专用IP还是非公用IP,但您可以测试两者)。

欢迎使用。尽量在你的帖子中只保留相关的细节,避免像“我以后再看”这样的事情。我也有同样的问题。播放连接,我可以插入数据库等,但这个异常仍然抛出。你找到答案了吗?事实上没有,我已经在datastax Java社区发布了相同的问题。我现在也有同样的问题。客户端似乎正在尝试通过EC2内部IP连接到节点:(