JanusGraph使用第三方Cassandra作为存储的配置

2022-03-21 00:00:00 修改 服务 启动 默认 脚本

概述

       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文件中修改存储的位置。

相关文章