如何启动Titan图形服务器并与gremlin连接?

时间:2013-05-06 11:05:59

标签: graph-databases gremlin titan rexster

我已经和Titan graph server玩了一段时间了。我的感觉是,尽管有大量文档,但缺少从头开始教程

我的最终目标是使用cassandra运行titan并使用StartTheShift/thunderdome进行查询。

我见过几种启动泰坦的方法:

使用Rexster

来自this link,我能够通过以下步骤运行titan服务器:

  1. 下载rexster-server 2.3
  2. 下载titan 0.3.0
  3. 将所有文件从titan-all-0.3.0/libs复制到rexster-server-2.3.0/ext/titan
  4. 编辑rexster-server-2.3.0/rexster.xml并添加(在a之间):

    <graph>
        <graph-name>geograph</graph-name>
        <graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
        <graph-read-only>false</graph-read-only>
        <graph-location>/Users/vallette/projects/DATA/gdb</graph-location>
        <properties>
              <storage.backend>local</storage.backend>
              <storage.directory>/Users/vallette/projects/DATA/gdb</storage.directory>
              <buffer-size>100</buffer-size>
        </properties>
        <extensions>
          <allows>
            <allow>tp:gremlin</allow>
          </allows>
        </extensions>
    </graph>
    
  5. 表示berkeleydb 或者:

        <graph>
          <graph-name>geograph</graph-name>
          <graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
          <graph-location></graph-location>
          <graph-read-only>false</graph-read-only>
          <properties>
                <storage.backend>cassandra</storage.backend>
                <storage.hostname>77.77.77.77</storage.hostname>
          </properties>
          <extensions>
            <allows>
              <allow>tp:gremlin</allow>
            </allows>
          </extensions>
        </graph>
    

    对于cassandra db。

    1. 使用./bin/rexster.sh -s -c rexster.xml
    2. 启动服务器
    3. 下载rexster控制台并使用bin/rexster-console.sh
    4. 运行它
    5. 您现在可以使用g = rexster.getGraph("geograph")
    6. 连接到您的图表

      此方法的问题在于您通过rexster连接而不是gremlin,因此您没有自动完成功能。优点是您可以命名您的数据库(此处为地理位置)。

      使用带有cassandra的Titan服务器

      1. 使用./bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties
      2. 启动服务器
      3. 使用

        创建名为cassandra.local的文件
        storage.backend=cassandrathrift
        storage.hostname=127.0.0.1
        
      4. 启动titan gremlin并与g = TitanFactory.open("cassandra-es.local")

      5. 联系

        这很好。

        将Titan服务器与BerkeleyDB一起使用

        来自this link

        1. 下载titan 0.3.0
        2. 使用./bin/titan.sh config/titan-server-rexster.xml config/titan-server-berkeleydb.properties
        3. 启动服务器
        4. 发布titan gremlin:./bin/gremlin.sh
        5. 但是一旦我尝试使用g = TitanFactory.open('graph')连接到gremlin中的数据库(图形),它就会在我所在的目录中创建一个名为graph的新数据库。如果我在我的目录中执行此操作(填充)我得到了:

            

          无法实例化实现:com.thinkaurelius.titan.diskstorage.berkeleyje.BerkeleyJEStoreManager

        6. 有人可以澄清这些过程,并告诉我我做错了什么。 感谢

3 个答案:

答案 0 :(得分:5)

根据文档TitanFactory.open()获取配置文件的名称或要打开或创建数据库的目录名称。

如果史蒂文说的是真的,那么有两种方法可以通过BerkelyDB后端连接到数据库:

  1. 通过bin/titan.sh启动数据库。通过rexster控制台连接到数据库。

  2. 请勿使用bin/titan.sh启动数据库。请改用gremlin控制台:TitanFactory.open("database-location")。这将打开数据库。但是这没有rexster服务器。除了gremlin控制台之外,没有其他任何东西能够访问数据库。

答案 1 :(得分:1)

使用Titan Server / BerkeleyDB,您应该尝试通过RexPro或REST进行连接(Thunderdome应通过REST连接)。您无法打开另一个基于Titan的连接到BerkeleyDB,因为Titan Server已经拥有它。

这与Titan Server / Cassandra不同,后者通过RexPro或REST进行连接,但也通过嵌入式Cassandra实现连接,通过TitanFactory.open('graph')

实现节俭连接

答案 2 :(得分:1)

也可以使用这两个库从python访问Titan:

https://github.com/StartTheShift/thunderdome

https://github.com/espeed/bulbs

Thunderdome目前是Titan特有的,灯泡是通用的。在Thunderdome的维基上给出了Thunderdome和Bulbs之间的一个(可能是有偏见的)比较:https://github.com/StartTheShift/thunderdome/wiki/Bulbs-VS-thunderdome

如果您需要自动完成,可以使用iPython并在iPython配置中启用自动完成功能。