JanusGraph中文翻译文档
Apache Cassandra

在不影响性能的情况下,当您需要可扩展性和高可用性,Apache Cassandra数据库是正确的选择。 商用硬件或云基础架构的线性可扩展性和经过验证的容错使其成为关键任务数据的完美平台。 Cassandra对跨多个数据中心进行复制的支持是同类产品中最好的,可以为您的用户提供更低的延迟,并让您高枕无忧,因为他们知道您可以在局部下线的情况下不影响集群。 已知最大的Cassandra集群在400多台机器上拥有超过300 TB的数据。

-- Apache Cassandra 主页

以下部分介绍JanusGraph与Apache Cassandra一起使用的各种方式。

18.1. Cassandra 存储后端

JanusGraph 提供了一下使用 Cassandra做为后端存储的方法:

  • cql - 基于CQL 的驱动,这是推荐使用的驱动。
  • cassandrathrift - JanusGraph的 Thrift 连接池驱动
  • cassandra - Astyanax 驱动。 Astyanax 项目已经不更新了。
  • embeddedcassandra -使用内嵌的驱动在同一个JVM中运行Cassandra 和 JanusGraph

Cassandra 客户端有两种协议: CQL 和 Thrift。Thrift 是原生的接口, 然而在 Cassandra 2.1中它已经被标记为废弃。JanusGraph的核心最初是在Thrift弃用之前编写的,它有几个类支持Thrift。 Cassandra 4.0中将不再支持Thrift。 建议JanusGraph用户使用CQL连接存储后端。

注意
  • 如果你打算在Cassandra2.2或更高版本中使用基于Thrift的驱动,你必须通过在每个Cassandra节点上运行./bin/nodetool enablethrifton 显示的打开Thrift ,才能使得JanusGraph连接到Cassandra集群。

注意
  • 如果在Cassandra上启用了安全性,则用户必须对<all keyspaces>具有CREATE权限,否则必须由管理员提前创建密钥空间(包括所需的表),或者用户必须对<已配置的密钥空间>具有CREATE权限。 包含所需表的create table文件位于conf / cassandra / cassandraTables.cql中。 请在执行之前定义键空间。

18.2. 本地服务模式

Cassandra可以作为一个独立的数据库和JanusGraph和用户的应用程序运行在同一台主机上。这种模式下JanusGraph 和 Cassandra通过本地socket进行通信。将JanusGraph运行在Cassandra上需要以下的安装步骤:

  1. 下载 Cassandra, 解压, 在配置文件 conf/cassandra.yaml conf/log4j-server.properties 中设置相应的文件路径。
  2. 使用预打包发行版中提供的默认配置文件将Gremlin Server连接到Cassandra需要启用Cassandra Thrift。 通过修改conf / cassandra.yaml配置中的start_rpc:false为start_rpc:true打开Cassandra Thrift 。 如果Cassandra已经在运行,可以使用bin / nodetool enablethrift手动启动Thrift。 可以使用bin/nodetool statusthrift验证Thrift状态。
  3. 在Cassandra解压的目录下,在命令行中运行bin/cassandra -f启动Cassandra。查看命令行的输出确保Cassandra启动成功。

     接下来可以通过以下方式创建基于 Cassandra的 JanusGraph :

JanusGraph g = JanusGraphFactory.build().
set("storage.backend", "cql").
set("storage.hostname", "127.0.0.1").
open();
在Gremlin控制台中,无法定义conf和g变量的类型。 只需省略类型声明即可。


18.3. 本地容器模式

18.4. 远程服务模式

18.5. 远程使用 Gremlin Server服务模式

18.6. JanusGraph 内嵌模式






持续更新中。。

标签: cassandra、janusgraph、thrift、cql、conf
一个创业中的苦逼程序员
  • 回复
隐藏