3

我正在使用带有 hbase 作为 storage.bakend 的 gremlin 服务器。

当我尝试从我的 spark 代码连接到 gremlin 服务器时,会记录以下消息,并在一段时间后超时。

打开Host{address = 'ip:8182' ,, hostUri=ws:/ip:8182/gremlin}核心大小为 2 的连接池

以下代码用于获取每个分区的客户端实例:

private static Cluster cluster;
private static Client client;
Logger logger = LoggerFactory.getLogger(GremlinSeverConnection.class);

public Client getGraph(GraphConf conf) {

 if (client == null) {
    try {
        // cluster = Cluster.build(new File(conf)).create();
        cluster = Cluster.build(conf.getGraphHost()).port(Integer.parseInt(conf.getGraphPort()))
                .serializer(getserializer(conf.getGraphSerializer())).create();


        client = cluster.connect();

        logger.info("connected to graph database");
    } finally {

        //cluster.close();
        //client.close();
    }
}
    return client;
}

public Serializers getserializer(String serializer) {

    return Serializers.GRAPHSON;
}
4

1 回答 1

3

您可以将连接池的最小和最大大小设置为 1:

Cluster cluster = Cluster.build().maxConnectionPoolSize(1)
                                  minConnectionPoolSize(1).create();

这应该强制客户端使用单个连接。

于 2017-05-08T10:52:26.950 回答