标签: gremlin-server

Titan Gremlin Server提供错误"不是WebSocket握手请求:缺少升级"

我从网址上下载了EC2服务器上的Titan Version 1.0

带有Hadoop 1的Titan 1.0.0 - 推荐

然后我用以下命令解压缩并运行titan服务器:

bin/titan.sh启动

Forking Cassandra...
Running `nodetool statusthrift`... OK (returned exit status 0 and printed string "running").
Forking Elasticsearch...
Connecting to Elasticsearch (127.0.0.1:9300).... OK (connected to 127.0.0.1:9300).
Forking Gremlin-Server...
Connecting to Gremlin-Server (127.0.0.1:8182).... OK (connected to 127.0.0.1:8182).
Run gremlin.sh to connect.
Run Code Online (Sandbox Code Playgroud)

然后我尝试从Titan 1.0版本的HTTP请求(在titan 0.4版本Rexster工作正常)但我得到以下错误

不是WebSocket握手请求:缺少升级Titan 1.0 HTTP请求错误

gremlin titan rexster tinkerpop3 gremlin-server

3
推荐指数
1
解决办法
2018
查看次数

如何在Gremlin Server Titan 1.0中删除顶点

我将Titan 1.0版本和带有REST Api的Gremlin Server用于创建和更新Vertex详细信息。如何使用vertexId删除顶点?

graph gremlin titan gremlin-server

3
推荐指数
1
解决办法
3389
查看次数

为什么我不能连接到Gremlin-Server?

抽象

我正在尝试在Docker(v1.13.0)中设置Titan/Cassandra/Gremlin-Server堆栈.我面临的问题是,尝试连接到默认端口上的Gremlin-Server的应用程序8182报告错误(详情如下).

首先,这是一些相关的版本信息:

  • 卡桑德拉v2.2.8
  • Titan v1.0.0(Hadoop 1)
  • Gremlin 3.2.3

建立

设置在a Dockerfile中进行,以便可重现.它假定一个卡桑德拉容器已经存在,在运行cassandra.yamlstart_rpc已设置为true.

Dockerfile如下:

FROM openjdk:alpine

ENV TITAN 'titan-1.0.0-hadoop1'

RUN apk update && apk add bash unzip && rm -rf /var/cache/apk/* \
    && adduser -S -s /bin/bash -D srg \
    && wget -O /tmp/$TITAN.zip http://s3.thinkaurelius.com/downloads/titan/$TITAN.zip \
    && unzip /tmp/$TITAN.zip -d /opt && ln -s /opt/$TITAN /opt/titan \
    && rm /tmp/*.zip \
    && chown -R srg /opt/$TITAN/ \
    && /opt/titan/bin/gremlin-server.sh -i …
Run Code Online (Sandbox Code Playgroud)

titan gremlin-server gremlinpython

3
推荐指数
1
解决办法
2795
查看次数

无法在远程模式下将 SparkGraphComputer 与 Tinkerpop 3.2.3 和 Janusgraph 0.1.1 一起使用

我已经设置了 Tinkerpop Gremlin Server 3.2.3 和 Tinkerpop Gremlin Console 3.2.3,并将 janusgraph 0.1.1 作为插件添加到两者中。

我在远程模式下运行以下代码,结果在下面列出的异常中

:remote connect tinkerpop.server conf/remote.yaml
:> graph = GraphFactory.open('conf/hadoop-graph/hadoop-load.properties')
:> blvp = BulkLoaderVertexProgram.build().writeGraph('conf/connection.properties').create(graph)
:> graph.compute(SparkGraphComputer).program(blvp).submit().get()
Run Code Online (Sandbox Code Playgroud)

例外

java.lang.IllegalArgumentException: Graph does not support the provided graph computer: SparkGraphComputer
        at org.apache.tinkerpop.gremlin.structure.Graph$Exceptions.graphDoesNotSupportProvidedGraphComputer(Graph.java:1140)
        at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.compute(JanusGraphBlueprintsGraph.java:145)
        at org.apache.tinkerpop.gremlin.structure.Graph$compute$0.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at Script4.run(Script4.groovy:1)
        at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:619)
        at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:448)
        at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
        at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.eval(ScriptEngines.java:119)
        at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$2(GremlinExecutor.java:287)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)

上面的代码在本地模式下工作正常,任何人都可以帮助我在这里缺少什么。

apache-spark tinkerpop3 gremlin-server janusgraph

3
推荐指数
1
解决办法
899
查看次数

Gremlin Python返回空图

我开始玩gremlin-python包装器来与我的gremlin服务器进行交互.

我做了以下步骤:

./bin/gremlin.sh
Run Code Online (Sandbox Code Playgroud)

一旦Gremlin控制台打开,我使用以下命令加载配置:

graph = JanusGraphFactory.open('conf/gremlin-server/janusgraph-cassandra-es.properties')
g = graph.traversal()
saturn = g.V().has('name', 'saturn')
Run Code Online (Sandbox Code Playgroud)

gremlin shell中的上面一组代码工作得很好,我可以看到列出的脊椎,但是当我尝试在python中做同样的事情时,我得到一个空图.以下是我的python代码:

graph = Graph()
g = graph.traversal().withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin','g'))
print(g)
Run Code Online (Sandbox Code Playgroud)

它返回: graphtraversalsource [graph [empty]]

为什么我得到空图?据我所知,它无法连接到相同的Graph源.有什么我想念的吗?

请注意:

JanusGraphFactory.open('conf/gremlin-server/janusgraph-cassandra-es.properties')
Run Code Online (Sandbox Code Playgroud)

提供的配置文件名是用于启动gremlin服务器的文件名.

任何帮助都非常感谢.

谢谢

python gremlin tinkerpop gremlin-server janusgraph

3
推荐指数
2
解决办法
2388
查看次数

图表未保存

首先,我按照以下步骤在 JanusGraph 中创建一个图形。

  • 将以下内容添加到 conf/janusgraph-cassandra-configurationgraph.properties
index.search.backend = elasticsearch
index.search.hostname = 127.0.0.1
index.search.elasticsearch.transport-scheme = http
Run Code Online (Sandbox Code Playgroud)
  • 将 gremlin-server-configuration.yaml 中的“ConfigurationManagementGraph:conf/janusgraph-cql-configurationgraph.properties”更改为“ConfigurationManagementGraph:conf/janusgraph-cassandra-configurationgraph.properties”

  • 将 conf/gremlin-server/gremlin-server.yaml 更改为 conf/gremlin-server/gremlin-server.yaml.orig

  • 将 conf/gremlin-server/gremlin-server-configuration.yaml 更改为 conf/gremlin-server/gremlin-server.yaml

  • 运行 bin/janusgraph.sh start

  • 运行 bin/gremlin.sh

:remote connect tinkerpop.server conf/remote.yaml session
:remote console

map = new HashMap<String, Object>();
map.put("storage.backend", "cassandrathrift");
map.put("storage.hostname", "127.0.0.1");
map.put("graph.graphname", "KG");
map.put("index.search.backend", "elasticsearch");
map.put("index.search.hostname", "127.0.0.1");
map.put("index.search.elasticsearch.transport-scheme", "http");

ConfiguredGraphFactory.createConfiguration(new MapConfiguration(map));
graph=ConfiguredGraphFactory.open("KG");

g=graph.traversal();


ConfiguredGraphFactory.getGraphNames()
Run Code Online (Sandbox Code Playgroud)
  • 关闭 janusgraph,运行 bin/janusgraph.sh 停止

  • 将 conf/janusgraph-cassandra-es.properties 复制到 conf/KG.properties

  • 在 conf/KG.properties 顶部添加以下两行

gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory
graph.graphname=KG
Run Code Online (Sandbox Code Playgroud)
  • 打开 conf/gremlin-server/gremlin-server.yaml,并将以下行添加到图形中:
KG: conf/KG.properties
Run Code Online (Sandbox Code Playgroud)
  • 将“scripts/empty-sample.groovy”添加到“org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin:”

  • 打开 script/empty-sample.groovy,将最后一行修改为: …

gremlin tinkerpop gremlin-server janusgraph

3
推荐指数
1
解决办法
396
查看次数

TITAN- 并行查询 - org.apache.tinkerpop.gremlin.driver.Client.submit 处的并发超时异常

作为容量和性能测试的一部分,我尝试使用 java 线程并行执行多个 gremlin 请求(图形遍历)。它在较少数量的线程中工作得很好。

当我增加线程数(例如 500)时,出现以下错误

线程“Thread-34”中出现异常 java.lang.RuntimeException:java.lang.RuntimeException:java.util.concurrent.TimeoutException:等待可用主机超时。在 org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:146) 在 com.tests.java.titan.Vertices.exists(Vertices.java:37) 在 com.tests.java.titan.Complex com.tests.java.perfTests.TitanThread.run(ParallelGraphTraversal.java:112) 处的.searchNodesRelatedByRelation(Complex.java:110) 引起:java.lang.RuntimeException: java.util.concurrent.TimeoutException: 等待超时可用的主机。在 org.apache.tinkerpop.gremlin.driver.Client.submitAsync(Client.java:194) 在 org.apache.tinkerpop.gremlin.driver.Client.submitAsync(Client.java:174) 在 org.apache.tinkerpop.gremlin .driver.Client.submit(Client.java:144) ... 3 个以上

我尝试将 threadPoolWorker 的值从 1 增加到 2,将 gremlinPool 从 8 增加到 16(在文件 gremlin-server.yaml 中)。但我没有注意到任何区别。

有人遇到过这个问题吗?您能否告诉我最大同时连接数是否有限制?

我们的环境:CDH 5.7.1、Titan 1.1.0-SNAPSHOT、Solr 4.10.3、HBase 1.2.0、titan-tp3-driver,用于创建与 gremlin 服务器的远程连接并进行查询

gremlin titan tinkerpop gremlin-server

2
推荐指数
1
解决办法
778
查看次数

将 Gremlin 查询作为字符串获取并在 java 中执行它而不将其提交给 GremlinServer

我有一个字符串格式的 Gremlin 查询(例如“gV()”)。我想执行这个字符串而不将它提交给 GremlinServer。

我使用以下依赖项:

<dependency>
    <groupId>org.apache.tinkerpop</groupId>
    <artifactId>gremlin-driver</artifactId>
    <version>3.3.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

java gremlin gremlin-server

2
推荐指数
1
解决办法
1759
查看次数

Gremlin-Python连接到现有的JanusGraph

我使用gremlin控制台创建了一个图形

gremlin> ConfiguredGraphFactory.graphNames
==>MYGRAPH
gremlin> ConfiguredGraphFactory.getConfiguration('MYGRAPH')
==>storage.backend=cql
==>graph.graphname=MYGRAPH
==>storage.hostname=127.0.0.1
==>Template_Configuration=false
gremlin> g.V().properties()
==>vp[name->SFO]
==>vp[country->USA]
==>vp[name->ALD]
==>vp[country->IND]
==>vp[name->BLR]
==>vp[country->IND]
gremlin>
Run Code Online (Sandbox Code Playgroud)

我想使用gremlin-python连接MYGRAPH.有人可以告诉我如何使用gremlin-python访问名为"MYGRAPH"的图形.

提前致谢...

gremlin-server janusgraph gremlinpython

2
推荐指数
1
解决办法
1002
查看次数

Gremlin Python - 如何从 valueMap 获取 ID

我将图表中的所有值提取到名为节点的列表中:

\n\n
nodes = g.V().valueMap(True).toList()\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于每个节点,我想获取 id 但我不知道如何获取。例如我有一个名为 的字段'name'。要获取第一个顶点的名称,我会执行以下操作:

\n\n
nodes[0][\xe2\x80\x98name\xe2\x80\x99]\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我无法使用相同的方式获取第一个节点的 id。我不知道为什么。也许因为它是自动分配的而不是用户创建的字段,所以有不同的方式来获取它?

\n

python gremlin gremlin-server gremlinpython

2
推荐指数
1
解决办法
1236
查看次数