Windows平台下的Gremlin控制台错误:"最高位为1"

7

看起来Gremlin Console在Windows上无法工作: 我下载了最新的Gremlin控制台并运行bin\gremlin.bat文件。在连接(如下命令)并运行简单的远程命令(g.V(123).count())后,似乎出现了错误:

The most significant bit should be set according to the format

以下是我运行的命令:
PS C:\Users\L836423\Downloads\apache-tinkerpop-gremlin-console-3.4.7-bin\apache-tinkerpop-gremlin-console-3.4.7\bin> .\gremlin.bat

         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.tinkergraph
gremlin> :remote connect tinkerpop.server conf/remote.yaml
log4j:WARN No appenders could be found for logger (com.jcabi.manifests.Manifests).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
==>Configured my_gremlin_dns.com/55.222.88.111:8182
gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - [my_gremlin_dns.com/55.222.88.111:8182] - type ':remote console' to return to local mode
gremlin> g.V(123).count()
The most significant bit should be set according to the format
Type ':help' or ':h' for help.
Display stack trace? [yN]
gremlin>

请问您能否提供堆栈跟踪信息?此外,Azure 上的 Gremlin 服务器是否也是版本 3.4.7?我相当确定这个错误是一个图形二进制序列化错误,这让我想知道 Gremlin 服务器是否已经在服务器上正确配置了 graphbinary 作为序列化器。 - stephen mallette
不幸的是,它不等待我的答案就打印堆栈跟踪,而是在我运行命令后立即打印整个信息,然后回到“gremlin>”cli。我正在使用来自官方网站https://github.com/JanusGraph/janusgraph-docker的docker janusgraph/janusgraph:latest运行。我不知道如何检查gremlin服务器版本。但是,如果我使用另一个容器作为gremlin cli docker容器运行相同的命令,它可以正常工作。例如:docker run --rm -e GREMLIN_REMOTE_HOSTS=myJanusDns.com -it janusgraph/janusgraph:latest ./bin/gremlin.sh - toto
1个回答

7
这是因为你连接的服务器不支持 TinkerPop 新版本所使用的 Graph Binary 字符串序列化。你需要使用旧版客户端。查看服务器支持的级别,使用相应的 Gremlin Client 版本。
具体来说,这个变更包含在 Gremlin Client 的 3.4.3 版本中。你的服务器至少需要达到该版本才能使用Gremlin Client >= 3.4.3。
从3.4.3版本开始,Gremlin Client的默认序列化器已更改为GraphBinary。你也可以编辑客户端读取的YAML文件中的设置以使用其他序列化器。

谢谢Kelvin,使用客户端3.3.11在Windows命令提示符上运行成功了.. 谢谢 :) - toto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接