JanusGraph配置参考大全

配置参考

本节是JanusGraph配置选项的权威参考。它包括存储和索引后端的所有选项,这些都是官方JanusGraph发行版的一部分。

该表是通过遍历JanusGraph的内部配置管理API中的键和名称空间自动生成的。因此,本页上列出的配置选项与特定的JanusGraph版本同步。如果本文档其他部分中对配置选项的引用与其在本页上的表示形式冲突,请假定此处列出的版本是正确的。

可变水平

每个配置选项都有一个特定的可变级别,该级别控制在第一次打开数据库后是否可以修改它以及如何修改它。下面的列表描述了可变性级别。

  • 固定的
    一旦数据库被打开,这些配置选项在数据库的整个生命周期内都无法更改

  • 全局_离线
    只有在关闭所有实例时,才能一次更改整个数据库集群的这些选项

  • 全局
    这些选项只能在整个数据库集群中全局更改

  • 可覆盖的
    这些选项是全局的,但可以被本地配置文件覆盖

  • 本地

    这些选项只能通过本地配置文件提供

有关如何更改非本地配置选项的信息,请参阅 全局配置

伞形的命名空间

标有星号的名称空间是伞形名称空间,这意味着它们可以容纳任意数量的子名称空间,每个子名称空间都由其名称唯一标识。伞式命名空间下列出的配置选项仅适用于这些子命名空间。伞形名称空间用于配置具有相同类型的多个系统组件,因此具有相同的配置选项。
例如,日志名称空间是一个伞形名称空间,因为JanusGraph可以与多个日志后端(例如用户日志)进行接口,每个日志后端都有相同的核心配置选项集。要将用户日志的发送批处理大小配置为100个事务更改,必须在配置中设置以下选项

log.user.send-batch-size = 100

配置命名空间和选项

attributes.custom *

自定义属性序列化和处理

NameDescriptionDatatypeDefault ValueMutability
attributes.custom.[X].attribute-class要注册的自定义属性类String(no default value)GLOBAL_OFFLINE
attributes.custom.[X].serializer-class要注册的自定义属性序列化程序的类String(no default value)GLOBAL_OFFLINE

cache

修改JanusGraph缓存行为的配置选项

NameDescriptionDatatypeDefault ValueMutability
cache.db-cache是否启用JanusGraph的数据库级缓存,该缓存在所有事务中共享。启用此选项可以通过在内存中保留热图形元素来加快遍历,但也会增加读取过时数据的可能性。禁用它将强制每个事务在读/写图形元素之前从存储器中独立地获取它们。BooleanfalseMASKABLE
cache.db-cache-clean-wait刷新条目后,数据库级缓存将保留条目的时间(以毫秒为单位)。此选项仅在能够确认写操作而不必立即使其可见的分布式存储后端上有用。Integer50GLOBAL_OFFLINE
cache.db-cache-sizeJanusGraph数据库级缓存的大小。介于0和1之间的值被解释为VM堆的百分比,而较大的值被解释为以字节为单位的绝对大小。Double0.3MASKABLE
cache.db-cache-time数据库级缓存中条目的默认过期时间(毫秒)。条目到达此期限时将被逐出,即使缓存有空闲空间。设置为0将禁用过期(缓存项将永远有效,或直到设置为0时内存压力触发逐出)。Long10000GLOBAL_OFFLINE
cache.tx-cache-size最近使用的顶点的事务级缓存的最大大小。Integer20000MASKABLE
cache.tx-dirty-size未提交脏顶点的事务级缓存的初始大小。这是一个针对写操作繁重、对性能敏感的事务性工作负载的性能提示。如果设置,它应该大致匹配每个事务修改的中间顶点.Integer(no default value)MASKABLE

cluster

多机部署的配置选项

NameDescriptionDatatypeDefault ValueMutability
cluster.max-partitions在分区图中创建的虚拟分区块数。这应该大于JanusGraph集群中预期的最大节点数。必须大于1且为2的幂。Integer32FIXED

computer

图形计算机相关配置

NameDescriptionDatatypeDefault ValueMutability
computer.result-mode图形计算机应如何返回计算结果持久化“将它们写入图形中,‘localtx’将它们写入本地事务,或“无”(默认值)StringnoneMASKABLE

graph

常规配置选项

NameDescriptionDatatypeDefault ValueMutability
graph.allow-stale-config是否允许配置的本地和存储后端托管副本包含具有以下任何类型的选项的冲突值:FIXED、GLOBAL_OFFLINE、GLOBAL。这些类型通过存储后端进行全局管理,不能通过更改本地配置来覆盖。这种类型的冲突通常表示配置错误。如果此选项为true,JanusGraph将记录这些选项冲突,但使用每个冲突选项的storage backend hosted值继续正常操作。当这个选项为false时,JanusGraph会记录这些选项冲突,但是它会抛出一个异常,拒绝启动。BooleantrueMASKABLE
graph.allow-upgrade将此设置为true将允许更新某些固定值,例如存储版本。这只能用于升级。BooleanfalseMASKABLE
graph.graphname此配置选项是在打开图形时可以提供的可选配置设置。您提供的字符串值将是图形的名称。如果使用ConfigurationManagement API,则可以使用ConfiguredGraphFactory API通过此字符串表示访问图形。String(no default value)LOCAL
graph.replace-instance-if-exists如果已经存在具有相同实例标识符的JanusGraph实例,则使用此配置选项将导致打开此图。BooleanfalseLOCAL
graph.set-vertex-id是否应启用用户提供的顶点id,并禁用JanusGraph的自动id分配。当JanusGraph与另一个分配长id但禁用JanusGraph的某些高级功能(可能导致数据不一致)的存储系统协同操作时非常有用。 EXPERT FEATURE - USE WITH GREAT CARE.BooleanfalseFIXED
graph.storage-version用于创建此数据库的JanusGraph存储架构的版本。在图形的第一个开头自动设置。只有在升级到包含架构更改的JanusGraph的新主要发行版时才应该更改String(no default value)FIXED
graph.timestamps写入存储和索引时使用的时间戳分辨率。设置整个图形集群的时间粒度。为了避免潜在的不准确,配置的时间分辨率应该与后端系统的时间分辨率相匹配。一些JanusGraph存储后端声明了一个首选的时间戳解析,该分辨率反映了底层服务中的设计约束。当后端提供首选默认值,并且在配置文件中未显式声明此设置时,将使用后端默认值,并忽略与此设置关联的常规默认值。此设置的显式声明覆盖了一般和后端特定的默认值。TimestampProvidersMICROFIXED
graph.unique-instance-id此JanusGraph实例的唯一标识符。这在同时访问相同存储或索引的所有实例中必须是唯一的。它是通过连接主机名、进程id和静态(进程范围)计数器自动生成的。建议不设置。String(no default value)LOCAL
graph.unique-instance-id-suffix如果设置了该参数,但未设置唯一实例id,则通过将十六进制编码的主机名连接到提供的编号来生成此JanusGraph实例的唯一标识符。Short(no default value)LOCAL
graph.use-hostname-for-unique-instance-id设置此选项后,此JanuGraph的唯一实例标识符将设置为主机名。如果还设置了唯一实例id后缀,则标识符设置为 .BooleanfalseLOCAL

gremlin

Gremlin配置选项

NameDescriptionDatatypeDefault ValueMutability
gremlin.graphgremlin服务器使用的图形工厂的实现Stringorg.janusgraph.core.JanusGraphFactoryLOCAL

ids

图形元素ID的常规配置选项

NameDescriptionDatatypeDefault ValueMutability
ids.block-size全局保留此大小的块中的图形元素ID。将此值设置得太低将使提交频繁地阻止缓慢的保留请求。如果设置得太高,则在关闭带有保留但大部分未使用的块的图实例时,会浪费ID。Integer10000GLOBAL_OFFLINE
ids.flush如果为true,则在创建时立即为顶点和边指定ID。如果为false,则仅当事务提交时才分配id.BooleantrueMASKABLE
ids.num-partitions要分配用于放置顶点的分区块数Integer10MASKABLE
ids.placement顶点放置策略的名称或完整类名StringsimpleMASKABLE
ids.renew-percentage当最近保留的ID块只剩下其总ID的这个百分比(表示为0到1之间的值)时,JanusGraph异步地开始保留另一个块。这有助于避免事务提交等待ID保留,即使块大小相对较小。Double0.3MASKABLE
ids.renew-timeoutJanusGraph id池管理器在放弃分配新的id块之前等待的毫秒数Duration120000 msMASKABLE
ids.store-nameID KCVStore的名称。IDS\ U STORE\ U NAME仅用于与Titan的向后兼容性,不应在正常操作或新图形中显式使用。Stringjanusgraph_idsGLOBAL_OFFLINE

ids.authority

图形元素ID保留/分配的配置选项

NameDescriptionDatatypeDefault ValueMutability
ids.authority.conflict-avoidance-mode此设置有助于分离共享单个图形存储后端的JanusGraph实例,避免在保留ID块时发生争用,从而提高总体吞吐量。ConflictAvoidanceModeNONEGLOBAL_OFFLINE
ids.authority.conflict-avoidance-tag分配ID时此JanusGraph实例使用的冲突避免标记Integer0LOCAL
ids.authority.conflict-avoidance-tag-bits配置为冲突避免标记保留的JanusGraph分配的元素ID的位数Integer4FIXED
ids.authority.randomized-conflict-avoidance-retries在放弃并引发异常之前,系统尝试使用随机冲突避免标记阻止ID保留的次数Integer5MASKABLE
ids.authority.wait-time系统等待存储后端确认ID块保留的毫秒数Duration300 msGLOBAL_OFFLINE

index *

单个索引后端的配置选项

NameDescriptionDatatypeDefault ValueMutability
index.[X].backend用于扩展和优化JanusGraph查询功能的索引后端。此设置是可选的。JanusGraph可以使用多个异构索引后端。因此,只要“index”和“backend”之间的用户定义名称在外观中是唯一的,此选项就可以出现多次。与存储后端类似,它应该设置为JanusGraph的标准索引后端的内置速记名称之一(速记:lucene、elasticsearch、es,solr)或自定义/第三方IndexProvider实现的完整包和类名。StringelasticsearchGLOBAL_OFFLINE
index.[X].conf-file需要/支持单独配置文件的索引后端的配置文件路径String(no default value)MASKABLE
index.[X].directory本地存储索引数据的目录String(no default value)MASKABLE
index.[X].hostname索引后端服务器的主机名或以逗号分隔的主机名列表。这只适用于某些索引后端,如elasticsearch和solr。String[]127.0.0.1MASKABLE
index.[X].index-name索引后端需要的索引的名称StringjanusgraphGLOBAL_OFFLINE
index.[X].map-name是否使用属性键的名称作为索引中的字段名。必须确保索引的属性键名称是有效的字段名称。重命名属性键不会重命名字段及其属性,开发人员有责任避免字段冲突。BooleantrueGLOBAL
index.[X].max-result-set-size如果未指定限制,则返回的最大结果数。对于支持滚动的索引后端,它表示每个批中的结果数Integer50MASKABLE
index.[X].port连接到索引后端服务器的端口Integer(no default value)MASKABLE

index.[X].elasticsearch

Elasticsearch 索引 配置

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.bulk-refreshElasticsearch批量API刷新设置,用于控制当此请求所做的更改对搜索可见时进行控制StringfalseMASKABLE
index.[X].elasticsearch.enable_index_names_cache为生成的索引存储名称启用缓存。建议始终启用索引存储名称缓存,除非每个索引存储的索引数超过50000个。BooleantrueMASKABLE
index.[X].elasticsearch.health-request-timeout当JanusGraph初始化其ES后端时,JanusGraph将在此期间等待ES集群运行状况至少达到黄色状态。此字符串的格式应为自然数,后跟小写字母“s”,例如3s或60s.String30sMASKABLE
index.[X].elasticsearch.interface连接Elasticsearch的接口。以前支持TRANSPORT_CLIENT和NODE,但现在需要迁移到REST_CLIENT。有关更多详细信息,请参阅JanusGraph升级说明.StringREST_CLIENTMASKABLE
index.[X].elasticsearch.retry_on_conflict指定发生冲突时应重试操作的次数。Integer0MASKABLE
index.[X].elasticsearch.scroll-keep-aliveelasticsearch在滚动上下文中保持活动状态的时间(秒)。Integer60GLOBAL_OFFLINE
index.[X].elasticsearch.setup-max-open-scroll-contextsJanusGraph是否应该为集群设置max_open_scroll_context到最大值。BooleantrueMASKABLE
index.[X].elasticsearch.use-all-fieldJanusGraph是否应该添加“all”字段映射。启用时,字段映射将包括引用“all”字段的“copy_to”参数。这是由于Elasticsearch 6.x支持的,并且在使用从Elasticsearch 6.x开始的通配符字段时是必需的。BooleantrueGLOBAL_OFFLINE
index.[X].elasticsearch.use-mapping-for-es7ElasticSearch 7中不推荐使用映射类型,默认情况下,JanusGraph不会为ElasticSearch 7使用映射类型,但如果要保留映射类型,可以将此参数设置为true。如果要将ElasticSearch从6更新到7,并且不想重新索引索引,可以将此参数设置为true,但我们建议您重新索引索引,并且不要使用此参数。BooleanfalseMASKABLE

index.[X].elasticsearch.create

与索引创建相关的设置

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.create.allow-mapping-updateJanusGraph在注册索引时是否应允许映射更新。仅当“使用外部映射”为true时适用。BooleanfalseMASKABLE
index.[X].elasticsearch.create.sleep从成功完成(阻塞)索引创建请求到首次使用该索引之间的睡眠时间(毫秒)。这仅适用于在ES中创建索引时,通常只有在第一次在ES上启动JanusGraph时才会发生。如果已存在配置为使用的索引JanusGraph,则此设置无效。Long200MASKABLE
index.[X].elasticsearch.create.use-external-mappingsJanusGraph在注册索引时是否应该使用外部映射。BooleanfalseMASKABLE

index.[X].elasticsearch.http.auth

HTTP(S)身份验证的配置选项。

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.http.auth.type用于HTTP访问的身份验证类型.StringNONELOCAL

index.[X].elasticsearch.http.auth.basic

HTTP基本身份验证的配置选项。

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.http.auth.basic.passwordHTTP(S)身份验证的密码。StringLOCAL
index.[X].elasticsearch.http.auth.basic.realmHTTP(S)身份验证的领域值。如果为空,则接受任何领域。StringLOCAL
index.[X].elasticsearch.http.auth.basic.usernameHTTP(S)身份验证的用户名。StringLOCAL

index.[X].elasticsearch.http.auth.custom

自定义HTTP(S)身份验证程序的配置选项。

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.http.auth.custom.authenticator-args逗号分隔的自定义验证器构造函数参数。String[]LOCAL
index.[X].elasticsearch.http.auth.custom.authenticator-class验证器完全限定类名。StringLOCAL

index.[X].elasticsearch.ssl

Elasticsearch SSL 配置

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.ssl.allow-self-signed-certificates控制接受自签名SSL证书。BooleanfalseLOCAL
index.[X].elasticsearch.ssl.disable-hostname-verification如果设置为true,则禁用SSL主机名验证。默认情况下启用主机名验证。BooleanfalseLOCAL
index.[X].elasticsearch.ssl.enabled控制到Elasticsearch的SSL连接的使用。BooleanfalseLOCAL

index.[X].elasticsearch.ssl.keystore

SSL密钥库的配置选项。

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.ssl.keystore.keypassword访问SSL密钥库中密钥的密码。如果不存在该选项,则使用“storepassword”的值。StringLOCAL
index.[X].elasticsearch.ssl.keystore.location标记SSL密钥库的位置。StringLOCAL
index.[X].elasticsearch.ssl.keystore.storepassword访问SSL密钥库的密码。StringLOCAL

index.[X].elasticsearch.ssl.truststore

SSL信任库的配置选项。

NameDescriptionDatatypeDefault ValueMutability
index.[X].elasticsearch.ssl.truststore.location标记SSL信任库的位置。StringLOCAL
index.[X].elasticsearch.ssl.truststore.password访问SSL信任库的密码。StringLOCAL

index.[X].solr

Solr索引配置

NameDescriptionDatatypeDefault ValueMutability
index.[X].solr.configset如果指定,则可以对在SolrCloud中创建的每个新集合重用相同的solr configSet。String(no default value)MASKABLE
index.[X].solr.dyn-fields是否使用动态字段(将数据类型附加到字段名)。如果禁用动态字段,则用户必须映射字段名并在架构中显式定义它们。BooleantrueGLOBAL_OFFLINE
index.[X].solr.http-compression启用/禁用对Solr的HTTP连接的压缩.BooleanfalseMASKABLE
index.[X].solr.http-connection-timeoutSolr HTTP connection timeout.Integer5000MASKABLE
index.[X].solr.http-max到所有Solr服务器的HTTP连接的最大总数。Integer100MASKABLE
index.[X].solr.http-max-per-host每个Solr主机的最大HTTP连接数。Integer20MASKABLE
index.[X].solr.http-urls用于连接Solr服务器的URL列表(使用LBHttpSolrClient),不要向URL添加核心或集合名称。String[]http://localhost:8983/solrMASKABLE
index.[X].solr.kerberos-enabledSOLR实例是否Kerberized。BooleanfalseMASKABLE
index.[X].solr.key-field-names唯一标识Solr中每个文档的字段名。必须指定为 collection=field.String[](no default value)GLOBAL
index.[X].solr.max-shards-per-node每个节点的最大碎片数。这在创建仅在SolrCloud操作模式下支持的新集合时适用。Integer1GLOBAL_OFFLINE
index.[X].solr.modeThe operation mode for Solr which is either via HTTP (http) or using SolrCloud (cloud)StringcloudGLOBAL_OFFLINE
index.[X].solr.num-shards集合的碎片数。这在创建仅在SolrCloud操作模式下支持的新集合时适用。Integer1GLOBAL_OFFLINE
index.[X].solr.replication-factor集合的复制因子。这在创建仅在SolrCloud操作模式下支持的新集合时适用。Integer1GLOBAL_OFFLINE
index.[X].solr.ttl_fieldSolr集合的TTL字段的名称。StringttlGLOBAL_OFFLINE
index.[X].solr.wait-searcher突变时-等待索引反映新的突变后再返回。这会对性能产生负面影响。BooleanfalseLOCAL
index.[X].solr.zookeeper-url协调SolrCloud集群的Zookeeper实例的URLString[]localhost:2181MASKABLE

log *

JanusGraph日志系统的配置选项

NameDescriptionDatatypeDefault ValueMutability
log.[X].backendDefine the log backed to useStringdefaultGLOBAL_OFFLINE
log.[X].fixed-partition即使后端存储已分区,是否将所有日志项写入一个固定分区。这可能会导致负载不平衡,应仅在低容量日志上使用BooleanfalseGLOBAL_OFFLINE
log.[X].key-consistent向存储后端读写日志消息是否需要一致性BooleanfalseMASKABLE
log.[X].max-partitions用于日志记录的最大分区数。设置这么多实际或虚拟分区。必须大于0且为2的幂。Integer(no default value)FIXED
log.[X].max-read-time失败前尝试从后端读取日志消息的最长时间(毫秒)。Duration4000 msMASKABLE
log.[X].max-write-time失败前尝试针对后端持久化日志消息的最长时间(毫秒)。Duration10000 msMASKABLE
log.[X].num-buckets要将日志项拆分为以进行负载平衡的存储桶数Integer1GLOBAL_OFFLINE
log.[X].read-batch-size对于批量读取消息的日志实现,一次读取的最大日志消息数Integer1024MASKABLE
log.[X].read-interval对于批量读取消息的日志记录实现,从后端读取消息的间隔时间(毫秒)Duration5000 msMASKABLE
log.[X].read-lag-time读取出现在后端所需的最长时间(毫秒)。如果在这段时间内写入操作在存储后端中不可见,则日志读取器可能会丢失该消息。Duration500 msMASKABLE
log.[X].read-threads用于读取和处理日志消息的线程数Integer1MASKABLE
log.[X].send-batch-size对于支持批量发送的日志实现,要批量发送的最大日志消息数Integer256MASKABLE
log.[X].send-delay在批量发送之前,可以在本地缓冲消息的最长时间(毫秒)Duration1000 msMASKABLE
log.[X].ttl在所有日志条目上设置TTL,这意味着添加到此日志的所有条目都将在配置的时间后过期。要求日志实现支持TTL。Duration(no default value)GLOBAL

metrics(指标、度量)

度量报告的配置选项

NameDescriptionDatatypeDefault ValueMutability
metrics.enabled是否在后端启用基本计时和操作计数监视BooleanfalseMASKABLE
metrics.merge-stores是否为边存储、顶点索引、边索引和ID存储聚合度量BooleantrueMASKABLE
metrics.prefixJanusGraph报告的度量的默认名称前缀。Stringorg.janusgraphMASKABLE

metrics.console

用于向控制台报告度量的配置选项

NameDescriptionDatatypeDefault ValueMutability
metrics.console.interval打印到控制台的度量报告之间的时间间隔(毫秒)Duration(no default value)MASKABLE

metrics.csv

用于向CSV文件报告度量的配置选项

NameDescriptionDatatypeDefault ValueMutability
metrics.csv.directorymetrics CSV输出目录String(no default value)MASKABLE
metrics.csv.interval包含度量数据的CSV文件转储之间的时间(以毫秒为单位)Duration(no default value)MASKABLE

metrics.ganglia

通过Ganglia报告度量的配置选项

NameDescriptionDatatypeDefault ValueMutability
metrics.ganglia.addressing-mode是通过uni-还是多播与Ganglia通信StringunicastMASKABLE
metrics.ganglia.hostname度量将向其发送Ganglia数据的单播主机或多播组名称String(no default value)MASKABLE
metrics.ganglia.interval将度量数据发送到Ganglia之间等待的毫秒数Duration(no default value)MASKABLE
metrics.ganglia.port发送Ganglia数据的端口Integer8649MASKABLE
metrics.ganglia.protocol-31是否以3.1协议格式向Ganglia发送数据BooleantrueMASKABLE
metrics.ganglia.spoof如果非空,则它必须是格式为IP:hostname对的有效Gmetric欺骗字符串。在这看https://github.com/ganglia/monitor-core/wiki/Gmetric-Spoofing 有关此设置的信息。String(no default value)MASKABLE
metrics.ganglia.ttl在传出Ganglia数据报上设置的多播TTLInteger1MASKABLE
metrics.ganglia.uuid要在传出的Ganglia数据报上设置的主机UUID。在https://github.com/ganglia/monitor-core/wiki/UUIDSources 看有关此设置的信息。String(no default value)LOCAL

metrics.graphite

通过Graphite报告指标的配置选项

NameDescriptionDatatypeDefault ValueMutability
metrics.graphite.hostname接收纯文本协议度量数据的主机名String(no default value)MASKABLE
metrics.graphite.interval发送度量数据之间等待的毫秒数Duration(no default value)MASKABLE
metrics.graphite.port向其发送数据的端口Integer2003MASKABLE
metrics.graphite.prefix报告度量的特定于合成图的前缀String(no default value)MASKABLE

metrics.jmx

通过JMX报告度量的配置选项

NameDescriptionDatatypeDefault ValueMutability
metrics.jmx.agentidmetrics使用的JMX agentIdString(no default value)MASKABLE
metrics.jmx.domain要在其中报告metrics的JMX域String(no default value)MASKABLE
metrics.jmx.enabled是否通过JMX MBean报告度量BooleanfalseMASKABLE

metrics.slf4j

通过slf4j报告度量的配置选项

NameDescriptionDatatypeDefault ValueMutability
metrics.slf4j.intervalmetrics数据的slf4j日志记录报告之间的时间(毫秒)Duration(no default value)MASKABLE
metrics.slf4j.logger将通过Slf4j报告度量的记录器的完整名称String(no default value)MASKABLE

query

查询处理的配置选项

NameDescriptionDatatypeDefault ValueMutability
query.batch在对存储后端执行遍历查询时是否应成批处理。如果后端有一个非常重要的延迟,这将导致显著的性能改进。BooleanfalseMASKABLE
query.batch-property-prefetch在对相邻顶点评估has条件之前,是否对存储后端对这些顶点上的所有属性执行批预取。因为在评估条件时,这些顶点属性将加载到最近使用的顶点的事务级缓存中,因此如果相邻顶点有许多边,并且后端有一个非常重要的延迟,那么这将导致显著的性能改进。BooleanfalseMASKABLE
query.fast-property是否在第一个单一顶点属性访问上预取所有属性。这可以消除对同一顶点的后续属性访问的后端调用,代价是一次检索所有属性。对于具有许多特性的顶点,这可能会很昂贵BooleantrueMASKABLE
query.force-index如果无法使用索引回答图形查询,JanusGraph是否应引发异常。这样做限制了JanusGraph的图形查询的功能,但可以确保在大型图形上避免缓慢的图形查询。推荐用于JanusGraph的生产使用。BooleanfalseMASKABLE
query.ignore-unknown-index-key是否忽略在用户提供的索引查询中遇到的未定义类型BooleanfalseMASKABLE
query.smart-limit查询优化器是否应该尝试猜测查询的智能限制,以确保根据可能较大的结果集进行响应。如果启用此选项,这些将以增量方式加载.BooleantrueMASKABLE

schema

与架构相关的配置选项

NameDescriptionDatatypeDefault ValueMutability
schema.constraints配置此图要使用的架构约束。如果配置“schema.constraints”设置为“true”,而“schema.default”设置为“none”,则会为架构约束冲突引发“IllegalArgumentException”。如果“schema.constraints”设置为“true”,而“schema.default”未设置为“none”,则会按照配置选项“schema.default”中的说明自动创建架构约束。如果“schema.constraints”设置为默认值“false”,则不应用任何架构约束。BooleanfalseGLOBAL_OFFLINE
schema.default配置此图要使用的DefaultSchemaMaker。可以使用以下任一简略表达式:
- default (一种具有多边标签和单个属性键的蓝图兼容模式生成器),
- none (已禁用自动架构创建)
- logging (与默认值相同,但在完成自动模式创建时使用日志)
- or 实现接口的自定义/第三方的完整包和类名org.janusgraph.core.schema.DefaultSchemaMaker
StringdefaultMASKABLE

storage

存储后端的配置选项。某些选项仅适用于某些后端。

NameDescriptionDatatypeDefault ValueMutability
storage.backendJanusGraph使用的主要持久性提供程序。这是必需的。它应该设置为JanusGraph标准存储后端的内置速记名称之一(速记:berkeleyje、cassandrathrift、cassandra、astyanax、embeddedcassandra、cql、hbase、inmemory),或者设置为自定义/第三方StoreManager实现的完整包和类名。String(no default value)LOCAL
storage.batch-loading是否启用批量加载到存储后端BooleanfalseLOCAL
storage.buffer-size保留改变的批的大小Integer1024MASKABLE
storage.conf-file需要/支持单个单独配置文件的存储后端的配置文件路径。String(no default value)LOCAL
storage.connection-timeout连接到远程数据库实例时的默认超时(毫秒)Duration10000 msMASKABLE
storage.directory需要本地存储的存储后端的存储目录。String(no default value)LOCAL
storage.drop-on-clear清除存储时是删除图形数据库(true)还是删除行(false)。请注意,某些后端在清除存储时总是删除图形数据库。还要注意的是,在清除存储时,索引总是会被删除。BooleantrueMASKABLE
storage.hostname存储后端服务器的主机名或以逗号分隔的主机名列表。这只适用于某些存储后端,如cassandra和hbase。String[]127.0.0.1LOCAL
storage.page-sizeJanusGraph break请求可能会将来自分布式存储后端的许多结果返回到一系列针对小块/页结果的请求中,其中每个块最多包含这么多元素。Integer100MASKABLE
storage.parallel-backend-opsJanusGraph是否应该尝试并行化存储操作BooleantrueMASKABLE
storage.password对后端进行身份验证的密码String(no default value)LOCAL
storage.port连接到存储后端服务器的端口。对于HBase,它是Zookeeper端口。Integer(no default value)LOCAL
storage.read-onlyRead-only databaseBooleanfalseLOCAL
storage.read-time等待后端读取操作成功完成的最大时间(毫秒)。如果后端读取操作暂时失败,JanuGraph将以指数形式后退,然后重试该操作,直到等待时间已用尽。Duration10000 msMASKABLE
storage.root需要本地存储的存储后端的存储根目录。如果不提供storage.directory而提供graph.graphname,则数据将存储在与 /.String(no default value)LOCAL
storage.setup-wait在服务器模式下运行JanusGraph时,后端管理器等待存储后端可用的时间(毫秒)Duration60000 msMASKABLE
storage.transactions在支持事务的存储后端上启用事务BooleantrueMASKABLE
storage.username要针对后端进行身份验证的用户名String(no default value)LOCAL
storage.write-time等待后端写入操作成功完成的最长时间(毫秒)。如果后端写操作暂时失败,JanusGraph将以指数方式后退并重试该操作,直到等待时间用尽为止。Duration100000 msMASKABLE

storage.berkeleyje

BerkeleyDB JE配置选项

NameDescriptionDatatypeDefault ValueMutability
storage.berkeleyje.cache-percentage为BerkeleyJE的缓存保留的JVM堆的百分比Integer65MASKABLE
storage.berkeleyje.isolation-level事务使用的隔离级别StringREPEATABLE_READMASKABLE
storage.berkeleyje.lock-mode用于读取操作的BDB记录锁定模式StringLockMode.DEFAULTMASKABLE
storage.berkeleyje.shared-cache如果为true,则共享缓存将用于所有图形实例BooleantrueMASKABLE

storage.cassandra

Cassandra storage backend options

NameDescriptionDatatypeDefault ValueMutability
storage.cassandra.atomic-batch-mutateTrue使用Cassandra原子批改变,false使用非原子批BooleantrueMASKABLE
storage.cassandra.compaction-strategy-classJanusGraph表的压缩策略String(no default value)FIXED
storage.cassandra.compaction-strategy-options压缩策略选项。此列表被解释为地图。它必须以[key,val,key,val,…]形式具有偶数个元素。String[](no default value)FIXED
storage.cassandra.compression存储数据时,存储后端是否应使用压缩BooleantrueFIXED
storage.cassandra.compression-block-size压缩块的大小(以KB为单位)Integer64FIXED
storage.cassandra.compression-typeJanusGraph在创建列族时使用的sstable_compression值。它接受Cassandra的sstable_compression选项允许的任何值。不设置此选项可禁用JanusGraph创建的CFs上的sstable_compression.StringLZ4CompressorMASKABLE
storage.cassandra.frame-size-mb以兆字节为单位的旧帧大小Integer15MASKABLE
storage.cassandra.keyspaceJanugraph的键槽的名称。如果不存在,将创建它。如果没有提供,但是graph.graphname是,那么键空间将设置为graphname。StringjanusgraphLOCAL
storage.cassandra.read-consistency-level针对Cassandra的读取操作的一致性级别StringQUORUMMASKABLE
storage.cassandra.replication-factor应保留的数据副本(包括原始副本)的数量。这仅对本机支持数据复制的存储后端有意义。Integer1GLOBAL_OFFLINE
storage.cassandra.replication-strategy-classJanusGraph键空间的复制策略Stringorg.apache.cassandra.locator.SimpleStrategyFIXED
storage.cassandra.replication-strategy-options复制策略选项,例如每个数据中心的因子或副本。此列表被解释为地图。它必须以[key,val,key,val,…]形式具有偶数个元素。此处的复制因子集优先于具有storage.cassandra.replication-factor的一个集String[](no default value)FIXED
storage.cassandra.write-consistency-level针对Cassandra的写操作的一致性级别StringQUORUMMASKABLE

storage.cassandra.astyanax

Astyanax-specific Cassandra options

NameDescriptionDatatypeDefault ValueMutability
storage.cassandra.astyanax.cluster-nameCassandra集群的默认名称StringJanusGraph ClusterMASKABLE
storage.cassandra.astyanax.connection-pool-typeAstyanax的连接池实现StringTOKEN_AWAREMASKABLE
storage.cassandra.astyanax.frame-size以兆字节为单位的旧帧大小Integer15MASKABLE
storage.cassandra.astyanax.host-supplier当发现类型设置为DISCOVERY_SERVICE或TOKEN_AWARE时要使用的主机供应商String(no default value)MASKABLE
storage.cassandra.astyanax.local-datacenter本地或最近的Cassandra数据中心的名称。当设置为非空白时,此值将传递到ConnectionPoolConfigurationImpl.setLocalDatacenter。取消设置或设置为空白时,将不会调用setLocalDatacenter。String(no default value)MASKABLE
storage.cassandra.astyanax.max-cluster-connections-per-host每个主机的最大池“群集”连接数Integer3MASKABLE
storage.cassandra.astyanax.max-connections池中允许的最大打开连接数(计算所有主机)Integer-1MASKABLE
storage.cassandra.astyanax.max-connections-per-host每个主机的最大池连接数Integer32MASKABLE
storage.cassandra.astyanax.max-operations-per-connection关闭连接之前每个连接允许的最大操作数Integer100000MASKABLE
storage.cassandra.astyanax.node-discovery-typeAstyanax如何发现Cassandra集群节点StringRING_DESCRIBEMASKABLE
storage.cassandra.astyanax.read-page-sizeCassandra读取操作的页面大小Integer4096MASKABLE
storage.cassandra.astyanax.retry-backoff-strategyCassandra读取操作的页面大小Stringcom.netflix.astyanax.connectionpool.impl.FixedRetryBackoffStrategy,1000,5000MASKABLE
storage.cassandra.astyanax.retry-delay-sliceastynax的连接池“retryDelaySlice”参数Integer10000MASKABLE
storage.cassandra.astyanax.retry-max-delay-sliceastynax的连接池“retry-max-delay-slice”参数Integer10MASKABLE
storage.cassandra.astyanax.retry-policy用配置参数实现Astyanax的重试策略Stringcom.netflix.astyanax.retry.BoundedExponentialBackoff,100,25000,8MASKABLE
storage.cassandra.astyanax.retry-suspend-windowastynax的连接池“retryMaxDelaySlice”参数Integer20000MASKABLE

storage.cassandra.ssl

Configuration options for SSL

NameDescriptionDatatypeDefault ValueMutability
storage.cassandra.ssl.enabled控制到Cassandra的SSL连接的使用BooleanfalseLOCAL

storage.cassandra.ssl.truststore

Configuration options for SSL Truststore.

NameDescriptionDatatypeDefault ValueMutability
storage.cassandra.ssl.truststore.location标记SSL信任库的位置。StringLOCAL
storage.cassandra.ssl.truststore.password访问SSL信任库的密码。StringLOCAL

storage.cassandra.thrift.cpool

Options for the Apache commons-pool connection manager

Apache公用池连接管理器的选项

NameDescriptionDatatypeDefault ValueMutability
storage.cassandra.thrift.cpool.evictor-period空闲连接驱逐器运行之间的毫秒数。设置为-1,以永远不运行空闲连接驱逐。Long30000MASKABLE
storage.cassandra.thrift.cpool.idle-test空闲连接驱逐器是否验证空闲连接并删除那些无法验证的连接BooleanfalseMASKABLE
storage.cassandra.thrift.cpool.idle-tests-per-eviction-run当该值为负值(例如-n)时,每次运行大约测试1/n的空闲连接。当该值为正数(例如n)时,将在每次运行时测试最小(空闲计数,n)连接数。Integer0MASKABLE
storage.cassandra.thrift.cpool.max-active最大并发使用连接数 (-1 到未定义)Integer16MASKABLE
storage.cassandra.thrift.cpool.max-idle并发空闲连接的最大数量 (-1 到未定义)Integer4MASKABLE
storage.cassandra.thrift.cpool.max-total允许的最大旧版连接数(空闲或活动)(-1 to leave undefined)Integer-1MASKABLE
storage.cassandra.thrift.cpool.max-wait将storage.cassandra.thrift.cpool.when-detained设置为阻止时要阻止的最大毫秒数。设置为“除块之外的动作”时无效。设置为-1可无限期等待。Long-1MASKABLE
storage.cassandra.thrift.cpool.min-evictable-idle-time连接在符合驱逐条件之前必须空闲的最小毫秒数。另请参阅storage.cassandra.thrift.cpool.removor-period。设置为-1,以永不驱逐空闲连接。Long60000MASKABLE
storage.cassandra.thrift.cpool.min-idle池尝试维护的最小空闲连接数Integer0MASKABLE
storage.cassandra.thrift.cpool.when-exhausted当客户端同时请求的活动连接数超过池所允许的数目时,该怎么办。值必须是BLOCK、FAIL或GROW之一。StringBLOCKMASKABLE

storage.cql

CQL storage backend options

CQL : Cloud Query Language

NameDescriptionDatatypeDefault ValueMutability
storage.cql.atomic-batch-mutateTrue使用Cassandra原子批突变,false使用非原子批BooleanfalseMASKABLE
storage.cql.batch-statement-size每批中的语句数Integer20MASKABLE
storage.cql.cluster-nameCassandra集群的默认名称StringJanusGraph ClusterMASKABLE
storage.cql.compact-storage存储后端是否应该在表上使用压缩存储。此选项仅适用于Cassandra 2及更早版本,默认为true。BooleantrueFIXED
storage.cql.compaction-strategy-classJanusGraph表的压缩策略String(no default value)FIXED
storage.cql.compaction-strategy-options压缩策略选项。此列表被解释为地图。它必须以[key,val,key,val,…]形式具有偶数个元素。String[](no default value)FIXED
storage.cql.compression存储后端在存储数据时是否应该使用压缩BooleantrueFIXED
storage.cql.compression-block-size压缩块的大小(以KB为单位)Integer64FIXED
storage.cql.compression-typeJanusGraph在创建列族时使用的sstable_compression值。它接受Cassandra的sstable_compression选项允许的任何值。不设置此选项可禁用 JanusGraph-createdCFs上的sstable_compression.StringLZ4CompressorMASKABLE
storage.cql.keyspaceJanusGraph键空间的名称。如果它不存在,将创建它。StringjanusgraphLOCAL
storage.cql.local-core-connections-per-host最初为本地数据中心创建并保持对每个主机开放的连接数Integer1FIXED
storage.cql.local-datacenter本地或最近的Cassandra数据中心的名称。当设置为非空白时,此值将传递到ConnectionPoolConfigurationImpl.setLocalDatacenter。取消设置或设置为空白时,将不会调用setLocalDatacenter。String(no default value)MASKABLE
storage.cql.local-max-connections-per-host每个主机可以为本地数据中心创建的最大连接数Integer1FIXED
storage.cql.local-max-requests-per-connection本地数据中心每个连接的最大请求数Integer1024FIXED
storage.cql.only-use-local-consistency-for-system-operations为True,以防止任何系统查询使用QUORUM(法定人数)一致性,并始终使用LOCAL_QUORUMBooleanfalseMASKABLE
storage.cql.protocol-version用于连接Cassandra数据库的协议版本。如果没有提供值,那么驱动程序将与服务器协商。Integer0LOCAL
storage.cql.read-consistency-level针对Cassandra的读取操作的一致性级别StringQUORUMMASKABLE
storage.cql.remote-core-connections-per-host最初为远程数据中心创建并保持对每个主机开放的连接数Integer1FIXED
storage.cql.remote-max-connections-per-host每个主机可为远程数据中心创建的最大连接数Integer1FIXED
storage.cql.remote-max-requests-per-connection远程数据中心每个连接的最大请求数Integer256FIXED
storage.cql.replication-factor应保留的数据副本(包括原始副本)的数量Integer1GLOBAL_OFFLINE
storage.cql.replication-strategy-classJanusGraph键空间的复制策略StringSimpleStrategyFIXED
storage.cql.replication-strategy-options复制策略选项,例如每个数据中心的因子或副本。此列表被解释为地图。它必须以[key,val,key,val,…]形式具有偶数个元素。此处设置的复制因子优先于具有storage.cql.replication-factor的一个集String[](no default value)FIXED
storage.cql.use-external-locking为True时以防止JanusGraph使用自己的锁定机制。当在JanusGraph之外使用外部锁定机制时,将此设置为true可消除冗余检查。请注意,当use external locking设置为true时,如果不使用锁定算法(该算法预先锁定参与事务的所有列,并在事务结束时解除锁定),将导致“read uncommitted”事务隔离级别保证。如果在没有适当的外部锁定机制的情况下设置为true,则可能会出现副作用,如脏读/不可重复读/幻像读。BooleanfalseMASKABLE
storage.cql.write-consistency-level针对Cassandra的写操作的一致性级别StringQUORUMMASKABLE

storage.cql.ssl

Configuration options for SSL

NameDescriptionDatatypeDefault ValueMutability
storage.cql.ssl.client-authentication-enabled允许使用客户端密钥通过Cassandra进行身份验证BooleanfalseLOCAL
storage.cql.ssl.enabled控制到Cassandra的SSL连接的使用BooleanfalseLOCAL

storage.cql.ssl.keystore

Configuration options for SSL Keystore.

NameDescriptionDatatypeDefault ValueMutability
storage.cql.ssl.keystore.keypassword访问SSL密钥库中密钥的密码。StringLOCAL
storage.cql.ssl.keystore.location标记SSL密钥库的位置。StringLOCAL
storage.cql.ssl.keystore.storepassword访问SSL密钥库的密码。StringLOCAL

storage.cql.ssl.truststore

Configuration options for SSL Truststore.

NameDescriptionDatatypeDefault ValueMutability
storage.cql.ssl.truststore.location标记SSL信任库的位置.StringLOCAL
storage.cql.ssl.truststore.password访问SSL信任库的密码。StringLOCAL

storage.hbase

HBase storage options

NameDescriptionDatatypeDefault ValueMutability
storage.hbase.compat-classHBaseCompat实现的包和类名。HBaseCompat屏蔽特定版本的HBase API差异。如果取消设置此选项,JanusGraph将调用HBase的VersionInfo.getVersion(),并在运行时加载匹配的compat类。设置此选项将强制JanusGraph以反射方式加载并实例化指定的类。String(no default value)MASKABLE
storage.hbase.compression-algorithmHBase压缩算法枚举字符串,将应用于新创建的列族。必须在HBase群集上安装并提供压缩算法。JanusGraph不能单独在HBase集群上安装和配置新的压缩算法。StringGZMASKABLE
storage.hbase.region-count创建JanusGraph的HBase表时设置的初始区域数Integer(no default value)MASKABLE
storage.hbase.regions-per-server创建JanusGraph的HBase表时要设置的每个regionserver的区域数Integer(no default value)MASKABLE
storage.hbase.short-cf-names是否将JanusGraph列族的名称缩短为一个字符的助记符以节省存储空间BooleantrueFIXED
storage.hbase.skip-schema-check假设JanusGraph的HBase表和列族已经存在。如果这是真的,JanusGraph将不会检查其表/CFs是否存在,也不会在任何情况下尝试创建它们。在没有HBase管理权限的情况下运行JanusGraph时,这很有用。BooleanfalseMASKABLE
storage.hbase.snapshot-name要由HBaseSnapshotInputFormat使用的现有HBase快照的名称Stringjanusgraph-snapshotLOCAL
storage.hbase.snapshot-restore-dirHBaseSnapshotInputFormat用于还原快照的临时目录。此目录应与HBase根目录位于同一文件系统中。String/tmpLOCAL
storage.hbase.tableJanuGraph将使用表的名称。当storage.hbase.skip-schema-chema-check为false时,JanusGraph将自动创建此表,如果该表不存在。如果未提供此配置选项,但graph.graphname为,则该表将设置为该值。StringjanusgraphLOCAL

storage.lock

Options for locking on eventually-consistent stores

锁定最终一致存储的选项

NameDescriptionDatatypeDefault ValueMutability
storage.lock.backend要使用的Locker类型StringconsistentkeyGLOBAL_OFFLINE
storage.lock.clean-expired是否从存储后端删除过期的锁BooleanfalseMASKABLE
storage.lock.expiry-time认为锁已过期的毫秒数。未发布的锁应用程序在此时间之后将被视为过期并发布。这个值应该大于事务可以花费的最长时间,以保证没有正确持有的应用程序在到期前过期,并且尽可能小以避免死锁.Duration300000 msGLOBAL_OFFLINE
storage.lock.local-mediator-group此选项确定用于早期检测连接到同一存储后端的同一进程中并发JanusGraph实例之间的锁争用的LocalLockMediator实例。对于该变量具有相同值的JanusGraph实例将在继续执行一般情况下的分布式锁代码之前,尝试在内存中发现它们之间的锁争用。JanusGraph在启动时为该选项生成适当的默认值。重写默认值通常只在测试中有用。String(no default value)LOCAL
storage.lock.retries系统在放弃并引发异常之前尝试获取锁的次数Integer3MASKABLE
storage.lock.wait-time系统等待存储后端确认锁应用程序的毫秒数。此外,在验证应用程序是否成功之前,在所有锁应用程序结束时等待的时间。该值应该是平均一致写入时间的小倍数。Duration100 msGLOBAL_OFFLINE

storage.meta *

Meta data to include in storage backend retrievals

要包含在存储后端检索中的元数据

NameDescriptionDatatypeDefault ValueMutability
storage.meta.[X].timestamps是否在检索到的条目中包含时间戳,以用于自动为具有时间戳的条目添加注释的存储后端BooleanfalseGLOBAL
storage.meta.[X].ttl对于支持单元级ttl的存储和检索的存储后端,是否在检索到的条目中包含ttlBooleanfalseGLOBAL
storage.meta.[X].visibility对于支持单元级可见性的存储后端,是否在检索到的条目中包含可见性BooleantrueGLOBAL

tx

Configuration options for transaction handling

事务处理的配置选项

NameDescriptionDatatypeDefault ValueMutability
tx.log-tx是否应该将事务突变记录到JanusGraph的预写事务日志中,该日志可用于恢复部分失败的事务BooleanfalseGLOBAL
tx.max-commit-time针对所有后端提交事务可能需要的最长时间(毫秒)。分布式预写日志处理使用此选项来确定何时可以将事务视为失败(即,在此时间过后)。必须长于允许的最大写入时间。Duration10000 msGLOBAL

tx.recovery

Configuration options for transaction recovery processes

事务恢复进程的配置选项

NameDescriptionDatatypeDefault ValueMutability
tx.recovery.verbose事务恢复系统是否应将已恢复的事务和其他活动打印到标准输出BooleanfalseMASKABLE
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值