JanusGraph使用第三方Cassandra作为存储的配置
概述
JanusGraph的安装包中自带了Cassandra安装包,并且默认的启动脚本也会自动启动Cassandra进程。但是对于部分已经部署好了Cassandra服务的场景,就需要做一些配置修改才能使用。本文将解释JanusGraph如何使用第三方Cassandra服务作为存储的配置,也就是不适用自带Cassandra的场景。
本文共分为两部分,部分将介绍如何简单搭建Cassandra的环境。第二部分将介绍如何修改JanusGraph的启动脚本配置以便能够使用非自带的Cassandra服务。
部分:安装配置cassandra
步:下载cassandra包
本文使用JanusGraph0.4.0,所以Cassandra选择它支持的新版本cassandra 3.11.0。下载地址如下:
http://archive.apache.org/dist/cassandra/3.11.0/apache-cassandra-3.11.0-bin.tar.gz
第二步:解压安装
[dennis@centos7 ~]$ tar zxf cassandra_apache-cassandra-3.11.0-bin.tar.gz
[dennis@centos7 ~]$ mv apache-cassandra-3.11.0/ cassandra-3.11.0
[dennis@centos7 ~]$ sudo mv cassandra-3.11.0/ opt/
第三步:开启thrift rpc server
JG使用了Cassandra的9160Thrift端口服务,Cassandra的默认启动命令未启动该服务,需要手动开启。
修改cassandra-3.11.0/conf/cassandra.yaml配置文件中的start_rpc,将默认的false改为true,如下所示:
# Whether to start the thrift rpc server.
start_rpc: true
第四步:启动cassandra
[dennis@centos7 ~]$ cd opt/cassandra-3.11.0
[dennis@centos7 cassandra-3.11.0]$ bin/cassandra
第五步:检查thrift服务是否正常
[dennis@centos7 bin]$ nodetool statusthrift
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/janusgraph-0.4.0/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/janusgraph-0.4.0/lib/logback-classic-1.1.3.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]
running
后的一行running表示已经正常。
第二部分:修改JG配置
JanusGraph的默认启动脚本为janusgraph-0.4.0/bin/janusgraph.sh,定位到第144行的启动脚本位置,将这个启动函数中的第二句"status_class ..."这一行删除,同时将启动自带cassandra的下面几行也删除。就是echo "Forking Cassandra..."对应下的整个if语句,保留wait_for_cassandra及之后的语句即可。
这时启动“bin/janusgraph.sh start”即可。基本思路就是在jg默认启动脚本中去掉启动cassandra的即可。
为了方便大家参考,我将修改后的脚本上传到我的github上了,链接:https://github.com/dennishucd/janusgraph-guide/blob/master/janusgraph.sh
注意:如果你的Cassandra服务没有部署在本机,还需要在properties文件中修改存储的位置。
相关文章