Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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
Java Janusgraph:Cassandra节俭超时异常_Java_Graph_Cassandra_Janusgraph - Fatal编程技术网

Java Janusgraph:Cassandra节俭超时异常

Java Janusgraph:Cassandra节俭超时异常,java,graph,cassandra,janusgraph,Java,Graph,Cassandra,Janusgraph,我使用嵌入式格式的Janusgraph,后端为cassandrathrift。以下是我对janusgraph和cassandra的属性: storage.backend=cassandrathrift storage.cassandra.keyspace=t_graph storage.cassandra.frame-size-mb=128 storage.hostname=10.XX.XX.XX,20.XX.XX.XX,30.XX.XX.XX 我有一个查询,它找出了一个特定顶点的跟随者数。以

我使用嵌入式格式的Janusgraph,后端为cassandrathrift。以下是我对janusgraph和cassandra的属性:

storage.backend=cassandrathrift
storage.cassandra.keyspace=t_graph
storage.cassandra.frame-size-mb=128
storage.hostname=10.XX.XX.XX,20.XX.XX.XX,30.XX.XX.XX
我有一个查询,它找出了一个特定顶点的跟随者数。以下是代码:

public class FollowCountNormal {

    private static JanusGraph graph;
    private static GraphTraversalSource traversalSource;

    public static void main(String[] args) {
        create();
        System.exit(0);
    }

    public static JanusGraph create() {

        graph = JanusGraphFactory.open("/resources/jp.properties");
        traversalSource = graph.traversal();
        getAllEdges();
        return graph;
    }

    static long getAllEdges(){

        try{
            GraphTraversal<Vertex, Vertex> allV = traversalSource.V();
            GraphTraversal<Vertex, Vertex> gt = allV.has("vid", "supernode");
            GraphTraversal<Vertex, Long> c = gt.inE()           
                    .count();
            long l = c.next();
            System.out.println("All edges = "+l);
            graph.tx().commit();
            return l;
        }catch (Exception e) {
            System.out.println("Error while fetching the edges for : ");
            e.printStackTrace();
        }

        return -1;
    }
}
如果顶点具有有限数量的传入边(即,当跟随者计数小于100000时,此代码可以正常工作)。但如果粉丝数是以百万计,我得到了以下例外:

原因:org.janusgraph.diskstorage.PermanentBackendException: 位于的存储后端发生永久性故障 org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.ConvertExceptionAssandrathritKeyColumnValueStore.java:263 在 org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getNamesSliceCassandraThriftKeyColumnValueStore.java:162 在 org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getNamesSliceCassandraThriftKeyColumnValueStore.java:105 在 org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getSliceCassandraThriftKeyColumnValueStore.java:94 在 org.janusgraph.diskstorage.keycolumnvalue.KCVSProxy.getSliceKCVSProxy.java:77 在 org.janusgraph.diskstorage.keycolumnvalue.cache.ExpirationKCVSCache$2.callExpirationKCVSCache.java:100 在 org.janusgraph.diskstorage.keycolumnvalue.cache.ExpirationKCVSCache$2.callExpirationKCVSCache.java:96 在 com.google.common.cache.LocalCache$LocalManualCache$1.loadLocalCache.java:4742 在 com.google.common.cache.LocalCache$LoadingValueReference.loadFutureLocalCache.java:3527 在 com.google.common.cache.LocalCache$Segment.loadSyncLocalCache.java:2319 ... 由于以下原因,省略了50个常见框架: org.apache.cassandra.thrift.TimedOutException:在 org.apache.cassandra.thrift.cassandra$multiget\u slice\u result$multiget\u slice\u results standardscheme.readCassandra.java:14696 at org.apache.cassandra.thrift.cassandra$multiget\u slice\u result$multiget\u slice\u results standardscheme.readCassandra.java:14633 org.apache.cassandra.thrift.cassandra$multiget\u slice\u result.readCassandra.java:14559 在 org.apache.thrift.TServiceClient.receiveBaseTServiceClient.java:78 在 org.apache.cassandra.thrift.cassandra$Client.recv_multiget_sliceCassandra.java:741 在 org.apache.cassandra.thrift.cassandra$Client.multiget_sliceCassandra.java:725 在 org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getNamesSliceCassandraThriftKeyColumnValueStore.java:143 ... 省略58个公共帧

我在网上找了很多这样的帖子:


但没有一个解决方案对我有效。关于如何解决这个问题有什么建议吗?

将存储后端更改为cql以及与cql相关的其他属性为我解决了这个问题。 以下是我使用的属性:

storage.backend=cql
storage.cql.keyspace=t_graph
storage.cql.read-consistency-level=ONE