打开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