我从网址
在EC2服务器上下载了Titan版本1.0Titan 1.0.0 with Hadoop 1 – recommended
然后我用以下命令解压缩并运行titan服务器:
bin / titan.sh start
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.
然后我尝试从Titan 1.0版本的HTTP请求(在Titan 0.4版本Rexster工作正常) 但我得到了以下错误
答案 0 :(得分:7)
使用默认设置,您无法通过HTTP连接连接到Titan v1.0.0。更准确地说,您无法通过HTTP连接到Gremlin Server。
使用Titan时,您还使用Apache TinkerPop framework中的Gremlin Server。 Gremlin Server接受WebSocket连接(默认)并将查询转发给Titan服务器。
对于TinkerPop v3.0.1附带的Titan v1.0.0(因此Gremlin服务器v3.0.1),您需要在HttpChannelizer
文件中手动配置conf/gremlin-server/gremlin-server.yaml
:
channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer
另请参阅:TinkerPop v3.0.1 documentation: Connecting via REST。
这将替换默认的WebSocketChannelizer
,并允许您通过HTTP向Gremlin Server发送查询。当您运行./bin/titan.sh start
时,您实际上正在启动Gremlin Server以及所有Titan相关的东西(Titan实例,Cassandra和Elasticsearch在默认设置中)。
如果您必须使用浏览器但仍希望使用WebSocket连接,则可以使用https://github.com/jbmusso/gremlin-javascript这是Gremlin Server的JavaScript(Node.js / Browser)客户端。它支持浏览器中的WebSocket连接。使用此设置时,您无需在gremlin-server.yaml
文件中编辑任何内容。