在AWS上使用Titan DynamoDB并从NodeJs查询

问题描述:

我已阅读了大部分文档,查看了TinkerPop。尝试设置Docker实例,EC2实例使用他们为Titan 1.0.0推荐的AWS CloudFormation模板,但仍然无法解决。在AWS上使用Titan DynamoDB并从NodeJs查询

我可以启动Titan数据库,将gremlin连接到它并进行查询等,但是如何从NodeJs使用它。这似乎是因为他们升级到1.0.0的文件并没有很好地解释。据我所知,Rexster现在已经消失了,并被Gremlin Server取代,但我仍然无法找到任何与它远程协作的东西。

真的很想去解决它并转向Neo4j,但不希望被绑定到使用单个机器,我希望Titan允许的可扩展性。我已经设法让Titan的老版本与Rexster一起工作,但我需要运行新版本。

任何人都可以解释我需要做什么,或者如果它可能被破坏?或者只是指向正确的方向。

由于

的Gremlin服务器处于TinkerPop3更换为Rexster,其泰坦1.0用途。在Gremlin服务器documentation中,您可以找到比Titan文档更多的配置细节。

titan-1.0.0-hadoop1/conf/gremlin-server/gremlin-server.yaml下,您可以找到服务器的配置设置。开箱即用,它使用WebSockets和BerkeleyDB后端。您可以更新这些设置以符合您的设置。例如,以下是Cassandra和Elasticsearch的Titan server配置。如果您打算从其他计算机连接到它,请确保更新host属性。

使用bin/gremlin-server.sh conf/gremlin-server/gremlin-server.yaml启动服务器,然后您可以通过远程连接进行连接。如TinkerPop文档中所述,您可以连接Gremlin控制台,然后向远程服务器发出命令。

gremlin> :remote connect tinkerpop.server conf/remote.yaml 
gremlin> :> g.V().values('name') 

对于使用节点,您可以使用此WebSockets Gremlin client。您可以在TinkerPop homepage上找到其他语言的客户端库。

+0

我拥有的主机属性设置为'localhost',当然这只是告诉Gremlin服务器绑定哪个地址?根据我的理解,即使它绑定到'localhost',我应该能够使用机器的公共IP访问它的端口上的泰坦?有一件事我试图得到的结果是“服务器没有及时响应”(试图从本地连接到EC2),甚至从同一个EC2实例连接到gremlin服务器,但在远程使用公共IP。 yaml'不起作用 - 查询时出现同样的超时错误 –

+1

您是否在'gremlin-server.yaml'和'remote.yaml'中设置了公共IP?你可以在'gremlin-server.yaml'中设置'host = 0.0.0.0',这样它就可以接受到任何接口的连接。 –

+0

我其实没有,我会尝试并让你知道。谢谢杰森 –