2015-04-12 37 views
0

我建立了一個Titan + Cassandra + Elasticsearch + Rexster服務器。一切安裝正確,我可以在Gremlin控制檯中使用「衆神之圖」。我用titan.sh腳本開始了一切。用燈泡連接Rexster時SystemError

titan/bin/titan.sh status輸出:

Titan + Rexster (com.tinkerpop.rexster.Application) is running with pid 4443 
Cassandra (org.apache.cassandra.service.CassandraDaemon) is running with pid 3909 
Elasticsearch (org.elasticsearch.bootstrap.Elasticsearch) is running with pid 4280 

如果我去http://localhost:8182/doghouse我能看到一個空的圖被稱爲「圖」。

現在我正嘗試使用燈泡包(http://bulbflow.com/)從Python(3.4)連接到Rexster。我有嘗試的代碼非常簡單:

from bulbs.rexster import Graph, Config 
kg = Graph(Config('http://localhost:8182/graphs/graph')) 

我得到以下異常:

Traceback (most recent call last): 
    File "/home/iulian/PycharmProjects/pygm/py/gm/graph/__main__.py", line 194, in <module> 
    main(sys.argv) 
    File "/home/iulian/PycharmProjects/pygm/py/gm/graph/__main__.py", line 160, in main 
    kg = Graph(Config('http://localhost:8182/graphs/graph')) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rexster/graph.py", line 56, in __init__ 
    super(Graph, self).__init__(config) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/base/graph.py", line 58, in __init__ 
    self.vertices = self.build_proxy(Vertex) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/base/graph.py", line 124, in build_proxy 
    return self.factory.build_element_proxy(element_class, index_class) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/factory.py", line 19, in build_element_proxy 
    primary_index = self.get_index(element_class,index_class,index_name) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/factory.py", line 27, in get_index 
    index = index_proxy.get_or_create(index_name) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rexster/index.py", line 80, in get_or_create 
    resp = self.client.get_or_create_vertex_index(index_name, index_params) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rexster/client.py", line 668, in get_or_create_vertex_index 
    resp = self.gremlin(script, params) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rexster/client.py", line 356, in gremlin 
    return self.request.post(gremlin_path, params) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rest.py", line 131, in post 
    return self.request(POST, path, params) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rest.py", line 186, in request 
    return self.response_class(http_resp, self.config) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rexster/client.py", line 198, in __init__ 
    self.handle_response(response) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rexster/client.py", line 222, in handle_response 
    response_handler(http_resp) 
    File "/home/iulian/py3venv/lib/python3.4/site-packages/bulbs/rest.py", line 50, in server_error 
    raise SystemError(http_resp) 
SystemError: ({'status': '500', 'server': 'grizzly/2.2.16', 'transfer-encoding': 'chunked', 'connection': 'close', 'access-control-allow-origin': '*', 'content-type': 'application/json', 'date': 'Sun, 12 Apr 2015 16:38:03 GMT'}, b'{"success":false,"api":{"description":"evaluate an ad-hoc Gremlin script for a graph.","parameters":{"rexster.showTypes":"displays the properties of the elements with their native data type (default is false)","load":"a list of \'stored procedures\' to execute prior to the \'script\' (if \'script\' is not specified then the last script in this argument will return the values","returnTotal":"when set to true, the full result set will be iterated and the results returned (default is false)","language":"the gremlin language flavor to use (default is groovy)","params":"a map of parameters to bind to the script engine","script":"the Gremlin script to be evaluated","rexster.returnKeys":"an array of element property keys to return (default is to return all element properties)","rexster.offset.start":"start index for a paged set of data to be returned","rexster.offset.end":"end index for a paged set of data to be returned"}},"message":"","error":"javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: groovy.lang.MissingMethodException.idx() is applicable for argument types:() values: []\\nPossible solutions: is(java.lang.Object), find(), any(), find(groovy.lang.Closure), any(groovy.lang.Closure), with(groovy.lang.Closure)"}') 

我要補充稱圖「圖」在Rexster默認的圖形,我覺得並沒有被我添加了。

所以,我有一些問題:

  1. 如何連接與燈泡Rexster(當然,我做錯了什麼)?
  2. 你如何創建一個新圖?

回答

1

1)嘗試bulbs.titan.Graph而不是bulbs.rexster.Graph - 泰坦和rexster是相似的,但燈泡是特殊的套管泰坦行爲。

2)泰坦圖在XML配置文件中配置。尋找在rexster-cassandra.xml或rexster - 卡桑德拉 - es.xml或任何配置文件你正在使用

<graphs> 
    <graph> 

    </graph> 
</graphs> 

配置。

+0

This Works,thank you! – Iulian