【问题标题】:Using Titan DynamoDB on AWS and querying from NodeJs在 AWS 上使用 Titan DynamoDB 并从 NodeJs 查询
【发布时间】:2016-06-08 07:52:18
【问题描述】:

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

我可以启动 Titan 数据库,将 gremlin 连接到它并进行查询等,但是我如何从 NodeJs 中使用它。似乎自从他们升级到 1.0.0 后,文档并没有很好地解释它。据我所知,Rexster 现在已经消失,取而代之的是 Gremlin Server,但我仍然找不到任何可以远程使用它的东西。

真的很想解雇它并转移到 Neo4j,但不想局限于使用单台机器,我想要 Titan 允许的可扩展性。我已经设法让旧版本的 Titan 与 Rexster 一起工作,但我需要让新版本运行。

谁能解释我需要做什么或者它是否坏了?或者只是为我指明正确的方向。

谢谢

【问题讨论】:

    标签: node.js amazon-web-services amazon-ec2 titan gremlin


    【解决方案1】:

    Gremlin Server 是 Titan 1.0 使用的 TinkerPop3 中 Rexster 的替代品。在 Gremlin Server 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')
    

    要使用 Node,你可以使用这个WebSockets Gremlin client。您可以在 TinkerPop homepage 上找到其他语言的客户端库。

    【讨论】:

    • 我的host属性设置为localhost,这肯定只是告诉Gremlin Server绑定哪个地址吧?根据我的理解,即使它绑定到localhost,我应该能够使用机器的公共 IP 访问它的端口上的 Titan?我在尝试时得到的一件事是“服务器没有及时响应”(尝试从本地连接到 EC2),甚至从同一个 EC2 实例连接到 gremlin 服务器但使用remote.yaml 中的公共 IP没用 - 查询时出现同样的超时错误
    • 你在gremlin-server.yamlremote.yaml都设置了公网IP吗?您可以在gremlin-server.yaml 中设置host=0.0.0.0,以便它可以接受到任何接口的连接。
    • 我实际上没有,我会尝试并告诉你。谢谢杰森
    • 你我的朋友是救生员!!非常感谢杰森!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多