Как запустить сервер Titan Graph и подключиться к гремлину?

Я уже некоторое время играю с графическим сервером Titan. И мне кажется, что, несмотря на обширную документацию, не хватает Руководства по началу работы с нуля.

Моя конечная цель - запустить титан на кассандре и запросить его с помощью StartTheShift / thunderdome.

Я видел несколько способов запустить Титан:

Использование Rexster

по этой ссылке мне удалось запустить сервер титанов со следующим шаги:

  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>
    

для 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>

для кассандры дб.

  1. запустить сервер с ./bin/rexster.sh -s -c rexster.xml
  2. загрузите консоль rexster и запустите ее с помощью bin/rexster-console.sh
  3. теперь вы можете подключиться к своему графику с помощью g = rexster.getGraph("geograph")

Проблема с этим методом заключается в том, что вы подключены через rexster, а не через gremlin, поэтому у вас нет автозаполнения. Преимущество в том, что вы можете назвать свою базу данных (здесь географическое положение).

Использование сервера Titan с кассандрой

  1. запустить сервер с ./bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties
  2. создайте файл с именем cassandra.local с

    storage.backend=cassandrathrift
    storage.hostname=127.0.0.1
    
  3. запустите titan gremlin и подключитесь к g = TitanFactory.open("cassandra-es.local")

это отлично работает.

Использование сервера titan с BerkeleyDB

Из этой ссылки:

  1. загрузить titan 0.3.0
  2. запустить сервер с ./bin/titan.sh config/titan-server-rexster.xml config/titan-server-berkeleydb.properties
  3. запустить титан гремлин: ./bin/gremlin.sh
  4. # P13 #
    # P14 #

Может ли кто-нибудь прояснить этот процесс и сказать мне, что я делаю не так. Спасибо


person Mermoz    schedule 06.05.2013    source источник


Ответы (3)


Согласно документации TitanFactory.open() принимает либо имя файла конфигурации, либо имя каталога, в котором нужно открыть или создать базу данных.

Если то, что говорит Стивен, правда, будет два способа подключиться к базе данных с помощью серверной части BerkelyDB:

  1. Запустите базу данных через bin/titan.sh. Подключитесь к базе данных через консоль rexster.

  2. НЕ запускайте базу данных с помощью bin/titan.sh. Вместо этого используйте консоль gremlin: TitanFactory.open("database-location"). Это откроет базу данных. Но у этого сервера рекстера нет. Никто другой не сможет получить доступ к базе данных, кроме консоли gremlin.

person Tim Ludwinski    schedule 20.09.2013

С Titan Server / BerkeleyDB вы должны попытаться подключиться через RexPro или REST (Thunderdome должен подключаться через REST). Вы не можете открыть другое соединение на базе Titan с BerkeleyDB, поскольку Titan Server уже владеет им.

Это отличается от Titan Server / Cassandra, где подключение осуществляется через RexPro или REST, но также и через встроенную Cassandra, которая обеспечивает подключение по экономичности через TitanFactory.open('graph')

person stephen mallette    schedule 08.05.2013

Также возможно получить доступ к Titan из python, используя эти две библиотеки:

https://github.com/StartTheShift/thunderdome

а также

https://github.com/espeed/bulbs.

Thunderdome в настоящее время специфичен для Титанов, а лампы являются обычными. Сравнение (возможно, предвзятого) между Thunderdome и Bulbs дается в вики Thunderdome: https://github.com/StartTheShift/thunderdome/wiki/Bulbs-VS-thunderdome

Если вам нужно автозаполнение, вы можете использовать iPython и включить автозаполнение в своей конфигурации iPython.

person Phob    schedule 13.06.2013