2017-05-08 6 views
1

hbaseでstorage.bakendというgremlinサーバを使用しています。Gremlinサーバで接続プーリングを無効にする方法

スパークコードからgremlinサーバーに接続しようとすると、以下のメッセージがログに記録され、いつかタイムアウトします。ホスト上

オープン接続プール2

のコアサイズを有する{:,, hostUri = WS:/ IPアドレス= '8182 IP' 8182 /グレムリンは}以下のコードは、クライアント・インスタンスを取得するために使用され各パーティション。

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; 
} 

答えて

2

あなたは1分と接続プールの最大サイズを設定できます。

単一の接続を使用するようにクライアントを強制する必要があります
Cluster cluster = Cluster.build().maxConnectionPoolSize(1) 
            minConnectionPoolSize(1).create(); 

+0

今、私はホストの接続プールを開いています。コアのサイズが1で、もう一度タイムアウトした後に、{address = 'ip:8182'、hostUri = ws:/ ip:8182/gremlin} –

+1

プールを無効にする方法について。あなたが今は実質的にプールがない単一の接続を持っていれば、私は設定を提供します。なぜあなたの接続のタイムアウトは別の話です。おそらく、[ここ](http://tinkerpop.apache.org/docs/current/reference/#_configuration)で説明されているタイムアウト関連の設定のいくつかを増やすだけでよいでしょう。 –

関連する問題