Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开Cassandra hector连接时出错:“无法分配请求的地址”_Cassandra_Database Connection_Hector - Fatal编程技术网

打开Cassandra hector连接时出错:“无法分配请求的地址”

打开Cassandra hector连接时出错:“无法分配请求的地址”,cassandra,database-connection,hector,Cassandra,Database Connection,Hector,我正在尝试打开一个新连接并按如下方式进行更新: for(String str: queries){ query = getQuery(str); TTransport tx_CUCR = getNewTransaction(); try { System.out.println("opening..."); tx_CUCR.open(); CqlQuery<String, String, ByteBuffer>

我正在尝试打开一个新连接并按如下方式进行更新:

for(String str: queries){
    query = getQuery(str);
    TTransport tx_CUCR = getNewTransaction();
    try {
        System.out.println("opening...");
        tx_CUCR.open();
        CqlQuery<String, String, ByteBuffer> cqlQuery = new CqlQuery<String, String, ByteBuffer>(keyspace, StringSerializer.get(), StringSerializer.get(), ByteBufferSerializer.get());
        cqlQuery.setQuery(query);
        System.out.println("executing...");
        QueryResult<CqlRows<String, String, ByteBuffer>> result = cqlQuery.execute();
        if (null != result) {
            rows = result.get();
        }
        System.out.println("flushing...");
        tx_CUCR.flush();
    } catch (HectorException e) {
        e.printStackTrace();
        translateException(e);
    } catch (TTransportException e) {
        e.printStackTrace();
    } finally {
        tx_CUCR.close();
    }
}
如果我在调试时在异常状态下暂停一段时间,然后继续,它将继续进行几次后续更新,并成功完成,然后在另一点再次导致此异常


如何克服此问题?

可能是服务器过载。Cassandra的日志怎么说?我在Cassandra.log和Cassandra.err文件中都看不到任何错误或异常。。。
opening...
org.apache.thrift.transport.TTransportException: java.net.NoRouteToHostException: Cannot assign requested address
    at org.apache.thrift.transport.TSocket.open(TSocket.java:183)
    at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81)
    at com.germinait.influence.cassandra.utils.CassandraUtils.executeQuery(CassandraUtils.java:546)
    at com.germinait.influence.cassandra.utils.CassandraUtils.updateByKey(CassandraUtils.java:484)
    at com.germinait.influence.cassandra.utils.IACassandraUtils.update(IACassandraUtils.java:298)
    at com.germinait.influence.cassandra.utils.IACassandraUtils.updateNodeScores(IACassandraUtils.java:274)
    at com.germinait.influence.cassandra.data.IACassBONodeScores.commit(IACassBONodeScores.java:94)
    at com.germinait.influence.facebook.db.updates.UpdateWithinGraph.initScores(UpdateWithinGraph.java:1048)
    at com.germinait.influence.facebook.db.updates.UpdateWithinGraph.initializePersonInfluenceScores(UpdateWithinGraph.java:981)
    at com.germinait.influence.facebook.db.updates.UpdateWithinGraph.applyInfluenceRankAlgo(UpdateWithinGraph.java:726)
    at com.germinait.influence.utils.IAUpdateUtils.runAlgorithm(IAUpdateUtils.java:296)
    at com.germinait.influence.NetworkIAMain.IA_runAlgorithm(NetworkIAMain.java:422)
    at com.germinait.influence.NetworkIAMain.main(NetworkIAMain.java:587)
Caused by: java.net.NoRouteToHostException: Cannot assign requested address
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
    at java.net.Socket.connect(Socket.java:546)
    at org.apache.thrift.transport.TSocket.open(TSocket.java:178)
    ... 12 more