JanusGraph gremlin如何知道应该使用Cassandra而不是Hadoop?

时间:2019-06-02 15:42:38

标签: cassandra janusgraph

我正在尝试按照指南https://www.bluepiit.com/blog/janusgraph-with-cassandra/将Janusgraph与Cassandra一起使用。但是启动gremlin时出现错误:

C:\Homes\janusgraph-0.2.3-hadoop2\bin>gremlin
HADOOP_HOME is not set.
Download http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe
Place it under C:\Homes\janusgraph-0.2.3-hadoop2\bin\winutils.exe
Press any key to continue . . .

该教程(以及Janusgraph文档https://docs.janusgraph.org/latest/cassandra.html)都没有提到我应该设置HADOOP_HOME和event,如果我愿意使用Cassandra,那么配置Hadoop home有什么意义?也许我应该假装gramlin并将HADOOP_HOME设置为Cassandra安装?此外,Janusgraph的每个后端都有配置文件,但是我找不到全局janusgraph单个配置文件,可以在其中指示要使用的后端?

1 个答案:

答案 0 :(得分:2)

  

也许我应该伪造gremlin并将HADOOP_HOME设置为Cassandra安装?

gremlin.bat内,我可以看到您未通过的检查。

:: Hadoop winutils.exe needs to be available because hadoop-gremlin is installed and active by default
IF NOT DEFINED HADOOP_HOME (
    SET JANUSGRAPH_WINUTILS=%JANUSGRAPH_HOME%\bin\winutils.exe
    IF EXIST !JANUSGRAPH_WINUTILS! (
        SET HADOOP_HOME=%JANUSGRAPH_HOME%
    ) ELSE (
        ECHO HADOOP_HOME is not set.
        ECHO Download http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe
        ECHO Place it under !JANUSGRAPH_WINUTILS!
        PAUSE
        GOTO :eof
    )
)

如果您坚持要在Windows上运行JanusGraph,则需要遵循从hortonworks.com下载winutils.exe并将其复制到C:\Homes\janusgraph-0.2.3-hadoop2\bin\的步骤。

关于让JanusGraph使用Cassandra,需要在conf/gremlin/gremlin-server.yaml文件中指定。

具体来说,我已经设置:

channelizer: org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer
graphs: {
  graph: conf/gremlin-server/janusgraph-cql-server.properties
}

janusgraph-cql-server.properties文件中,您可以为Cassandra群集指定连接信息。

然后,我将运行bin/gremlin-server.bat,而不是gremlin.bat

还有其他一些发现:

  • 使用JanusGraph的最新版本,我敢肯定是0.3.1
  • 如果可以,请与CQL而不是Thrift连接。卡桑德拉(Cassandra)的下一个主要版本甚至都不会包含Thrift,因此请不要依赖它。
  • 在Linux上构建JanusGraph和Cassandra。为此,您需要使用Windows,为旅途漫长的痛苦做好准备。

希望这会有所帮助!