JanusGraph(四)--配置

JanusGraph 图库集群由一个或多个实例组成。要打开实例,必须提供一个配置来指定如何搭配该JanusGraph实例,如使用那些组件、控制操作、调整选项优化性能等。

  • 配置中至少,必须定义持久性引擎作为存储后端,如Cassandra/Hbase/BerkeleyDB
  • 如果需要高级查询,必须配置索引后端,如ES/Solr
  • 如果考虑查询性能,应开启缓存

区分

JanusGraph分本地配置和全局配置。本地配置适用于单个实例,全局配置适用于集群中所有实例。

应用配置

不同的实例化模式,其使用配置也不同。

1. JanusGraphFactory

1.1. Gremlin Console

graph = JanusGraphFactory.open('path/to/configuration.properties')

1.2. JanusGraph 嵌入式

直接调用JanusGraph提供的API即可。

1.3. 简写

如果只需要制定后端存储库,可以使用这种方式。

graph = JanusGraphFactory.open('cql:localhost')
graph = JanusGraphFactory.open('berkeleyje:/tmp/graph')

2. JanusGraph 服务式

配置Server模式是通过JanusGraph发行版中./conf/gremlin-server目录中的yaml配置文件完成。

全局配置

启动群集中的第一个JG实例时,将从本地提供的配置文件中初始化全局配置选项。随后,通过JG的管理API (g.getManagementSystem()) 可更改全局配置选项。
例如,更改JG群集上的默认缓存行为:

mgmt = graph.openManagement()
mgmt.get('cache.db-cache')
// Prints the current config setting
mgmt.set('cache.db-cache', true)
// Changes option
mgmt.get('cache.db-cache')
// Prints 'true'
mgmt.commit()
// Changes take effect

1. 配置作用域

JG为配置选项分了五个scope:

作用域等级 配置项来源 描述
LOCAL 这些选项只能通过本地配置文件提供 仅适用于单个JG实例,在初始化JG实例时指定提供
MASKABLE 首先读取全局集群配置项值,如果提供了本地配置,就以本地配置项覆盖 这些选项是全局的,但可以被本地配置文件覆盖
GLOBAL 从集群配置中读取的配置项 这些选项只能在整个JG集群中全局更改
GLOBAL_OFFLINE 与GLOBAL类似 当所有实例关闭时,只能一次为整个JG集群更改这些选项。更改配置项后需要重新启动集群
FIXED 与GLOBAL类似 JG集群一旦初始化,就无法在数据库的整个生命周期内更改这些配置选项

更改配置选项不会影响正在运行的实例,新启动的实例才会生效更改。

更改 GLOBAL_OFFLINE 配置选项需要重新启动群集,以便更改对所有实例立即生效。要更改请按照以下步骤操作:

  1. 留一个JG实例,关闭集群其他全部实例,
  2. 连接到这个实例
  3. 确保已关闭所有正在运行的事务
  4. 确保没有新的事务开始(即集群必须离线)
  5. 打开管理API mgmt = graph.openManagement()
  6. 更改配置选项
  7. 调用提交将自动关闭图形实例 mgmt.commit()
  8. 重新启动所有实例

2. 配置选项

JG的更多配置选项,参考官方文档 :https://docs.janusgraph.org/basics/configuration-reference/#configuration-namespaces-and-options

你可能感兴趣的:(JanusGraph(四)--配置)