2

リモート gremlin サーバーにアクセスするためにgremlin-javascriptモジュールを使用しています。app.js の私のコード:

var gremlin = require('gremlin-client');
var client = gremlin.createClient(8182, 'localhost');
var query = client.stream('g.V()');
query.on('data', function(result) {
  console.log(result);
});
query.on('end', function() {
  console.log("All results fetched");
});

これは正常に機能し、すべてのクエリが実行されます。しかし、「localhost」をリモート サーバー アドレス - cbtitan.cloudapp.net に置き換えると、ECONNREFUSED エラーが返されます。

そのリモートサーバーに接続するには何を変更/実行する必要がありますか? または、そのリモートサーバーの構成を変更する必要がありますか? 私はこの問題にひどく悩まされています。助けてください。前もって感謝します。

gremlin-server.yaml

host: localhost
port: 8182
threadPoolWorker: 1
gremlinPool: 8
scriptEvaluationTimeout: 30000
serializedResponseTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer
graphs: {
  graph: conf/gremlin-server/titan-berkeleyje-server.properties}
plugins:
  - aurelius.titan
scriptEngines: {
  gremlin-groovy: {
    imports: [java.lang.Math],
    staticImports: [java.lang.Math.PI],
    scripts: [scripts/empty-sample.groovy]},
  nashorn: {
      imports: [java.lang.Math],
      staticImports: [java.lang.Math.PI]}}
serializers:
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { useMapperFromGraph: graph }}
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }}
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0, config: { useMapperFromGraph: graph }}
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, config: { useMapperFromGraph: graph }}
processors:
  - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
metrics: {
  consoleReporter: {enabled: true, interval: 180000},
  csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
  jmxReporter: {enabled: true},
  slf4jReporter: {enabled: true, interval: 180000},
  gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},
  graphiteReporter: {enabled: false, interval: 180000}}
threadPoolBoss: 1
maxInitialLineLength: 4096
maxHeaderSize: 8192
maxChunkSize: 8192
maxContentLength: 65536
maxAccumulationBufferComponents: 1024
resultIterationBatchSize: 64
writeBufferHighWaterMark: 32768
writeBufferHighWaterMark: 65536
ssl: {
enabled: false}
4

1 に答える 1

5

では、gremlin-server.yamlいくつかの変更を行う必要があります。

ホストを更新する必要があります。デフォルトは ですlocalhost。これは、ローカル クライアントからのみ接続できることを意味します。マシンの IP アドレスを使用するか、すべてのインターフェイスでリッスンする場合は 0.0.0.0 を使用する必要があります。

host: 0.0.0.0

これは TinkerPop3 Gremlin Server の WebSocket JavaScript クライアントであるため、 withWebSocketChannelizerの代わりに使用する必要があります。HttpChannelizergremlin-javascript

channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
于 2015-11-12T18:17:38.203 に答える