2016-08-23 36 views
0

我正在尝试通过gremlin-shell将图形查询映射到Cassandra后端(本地或远程)。GraphFactory消息:GraphFactory无法实例化此图形实现[com.thinkaurelius.titan.core.TitanFactory] ​​

我下载了股票Gremlin服务器分布,然后安装泰坦(如手动安装中所述)。

http://s3.thinkaurelius.com/docs/titan/0.9.0-M1/server.html

我添加的所有属性设置和CLASSPATH:

~/gremlin-server-3.0.0.M6$ cat conf/titan-cassandra.properties 

gremlin.graph=com.thinkaurelius.titan.core.TitanFactory 

storage.backend=cassandrathrift 
storage.directory=../db/cassandra 

~/gremlin-server-3.0.0.M6$ cat conf/gremlin-server.yaml 
host: localhost 
port: 8182 
threadPoolWorker: 1 
gremlinPool: 8 
scriptEvaluationTimeout: 30000 
serializedResponseTimeout: 30000 
channelizer: com.tinkerpop.gremlin.server.channel.WebSocketChannelizer 
graphs: { 
    g: conf/titan-cassandra.properties} 
    #g: conf/tinkergraph-empty.properties} 
plugins: 
    - aurelius.titan 

当我调出小鬼服务器,我收到以下错误(即使小鬼服务器本身出现):

bin/gremlin-server.sh 
[INFO] GremlinServer - 
     \,,,/ 
     (o o) 
-----oOOo-(3)-oOOo----- 

[INFO] GremlinServer - Configuring Gremlin Server from conf/gremlin-server.yaml 
[INFO] MetricManager - Configured Metrics ConsoleReporter configured with report interval=180000ms 
[INFO] MetricManager - Configured Metrics CsvReporter configured with report interval=180000ms to fileName=/tmp/gremlin-server-metrics.csv 
[INFO] MetricManager - Configured Metrics JmxReporter configured with domain= and agentId= 
[INFO] MetricManager - Configured Metrics Slf4jReporter configured with interval=180000ms and loggerName=com.tinkerpop.gremlin.server.Settings$Slf4jReporterMetrics 
[WARN] Graphs - Graph [g] configured at [conf/titan-cassandra.properties] could not be instantiated and will not be available in Gremlin Server. GraphFactory message: GraphFactory could not instantiate this Graph implementation [com.thinkaurelius.titan.core.TitanFactory] 
java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [com.thinkaurelius.titan.core.TitanFactory] 
: 
: 
[INFO] GremlinServer - Initialized Gremlin thread pool. Threads in pool named with pattern gremlin-* 
[INFO] ScriptEngines - Loaded nashorn ScriptEngine 
[INFO] ScriptEngines - Loaded gremlin-groovy ScriptEngine 
[INFO] GremlinServer - Initialized GremlinExecutor and configured ScriptEngines. 
[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+kryo with com.tinkerpop.gremlin.driver.ser.KryoMessageSerializerV1d0 
[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+kryo-stringd with com.tinkerpop.gremlin.driver.ser.KryoMessageSerializerV1d0 
[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+json with com.tinkerpop.gremlin.driver.ser.JsonMessageSerializerGremlinV1d0 
[INFO] AbstractChannelizer - Configured application/json with com.tinkerpop.gremlin.driver.ser.JsonMessageSerializerV1d0 
[INFO] GremlinServer - Gremlin Server configured with worker thread pool of 1 and boss thread pool of 1 
[INFO] GremlinServer - Channel started at port 8182. 

此外,当我尝试通过gremlin-shell调用简单的图形操作时,我看到以下内容:

bin/gremlin.sh 

     \,,,/ 
     (o o) 
-----oOOo-(3)-oOOo----- 
plugin activated: aurelius.titan 
plugin activated: tinkerpop.server 
plugin activated: tinkerpop.utilities 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/home/appsec/titan-1.0.0-hadoop1/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/home/appsec/titan-1.0.0-hadoop1/lib/logback-classic-1.1.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 
20:50:02 INFO org.apache.tinkerpop.gremlin.hadoop.structure.HadoopGraph - HADOOP_GREMLIN_LIBS is set to: /home/appsec/titan-1.0.0-hadoop1/lib 
plugin activated: tinkerpop.hadoop 
plugin activated: tinkerpop.tinkergraph 

gremlin> :remote connect tinkerpop.server conf/remote.yaml 
==>Connected - localhost/127.0.0.1:8182 

gremlin> GraphOfTheGodsFactory.load(graph) 
No such property: graph for class: groovysh_evaluate 
Display stack trace? [yN] y 
groovy.lang.MissingPropertyException: No such property: graph for class: groovysh_evaluate 


gremlin> graph = TitanFactory.open('/home/appsec/gremlin-server-3.0.0.M6/conf/titan-cassandra.properties') 
Could not instantiate implementation: com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftStoreManager 
Display stack trace? [yN] y 
java.lang.IllegalArgumentException: Could not instantiate implementation: com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftStoreManager 
: 
: 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:589) 
    at org.apache.thrift.transport.TSocket.open(TSocket.java:180) 
    ... 55 more 
+0

顺便说一句,我没有接泰坦从thinkaurelius而不是tinkerpop,根据此链接http://stackoverflow.com/questions/32426336/load-titan-graph-with-gremlin – bhuvanrk

回答

0

你应该下载并使用Titan 1.0.0,并确保你指的是泰坦1.0.0 documentation for Titan Server。您不需要单独安装Gremlin Server,因为它已经与Titan 1.0.0发行版捆绑在一起。

Titan 1.0.0发行版中存在一个缺陷,其版本号为fixed。您可以在此前的StackOverflow question上阅读更多内容。简而言之,您需要更新gremlin-server.yaml以指向新的配置文件titan-cassandra-es-server.properties

如果你有兴趣的Gremlin服务器连接到泰坦(而不是使用已经包含在泰坦distrubtion服务器),我列出这个mailing list post一些步骤:

# Get Apache TinkerPop's Gremlin Server (Titan 1.0.0 uses TinkerPop 3.0.1) 
unzip apache-gremlin-server-3.0.1-incubating-bin.zip 
cd apache-gremlin-server-3.0.1-incubating 

# This will install Titan-Cassandra as a plugin under ext/titan-cassandra 
./bin/gremlin-server.sh -i com.thinkaurelius.titan titan-cassandra 1.0.0 

# Copy over some Titan configuration files 
# https://gist.github.com/pluradj/8437255e831d2b640b6fea4f815a79c5 
# * conf/titan-server.yaml 
# * conf/titan-cassandra.properties 

# start the server with Titan configuration 
./bin/gremlin-server.sh conf/titan-server.yaml