`

JanusGraph集群搭建,多图配置及索引

阅读更多
下载和启动实例
1、下载和启动Cassandra,生产环境会使用HBase作为Storage backend,但在开发环境部署HBase比较复杂

http://cassandra.apache.org/download/    下载3.11.2

解压后 sh bin/cassandra -f, 默认绑定IP:127.0.0.1  PORT:9042

启动thrift,sh ./bin/nodetool enablethrift    默认绑定IP:127.0.0.1  PORT:9160

2、下载和启动ES

JanusGraph的发布包自带ES,sh /elasticsearch/bin/elasticsearch,默认绑定IP:127.0.0.1  PORT:9200

也可以使用独立的ES,但建议5.0以上版本。

PS:centos6下启动es5.0以上版本遇到的问题及解决方法

[1]: max file descriptors [10240] for elasticsearch process is too low, increase to at least [65536]

ulimit -n 65536
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

修改/etc/sysctl.conf配置文件,

cat /etc/sysctl.conf | grep vm.max_map_count
vm.max_map_count=262144

如果不存在则添加

echo "vm.max_map_count=262144" >>/etc/sysctl.conf

sysctl -p

[3]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false



3、下载和安装JanusGraph

https://github.com/JanusGraph/janusgraph/releases/    下载janusgraph-0.2.0-hadoop2.zip

编辑janusgraph-cassandra-es.properties,将es和cassandra的ip指定为步骤1,2中的IP

sh bin/gremlin.sh

graph = JanusGraphFactory.open("conf/janusgraph-cassandra-es.properties"),如提示standardjanusgraph[cassandrathrift:[127.0.0.1]],则配置成功

4、启动gremlin server

修改conf/gremlin-server/gremlin-server.yaml,确定properties文中的cassandra和es的ip正确

sh bin/gremlin-server.sh

使用gremlin.sh测试是否可以连上服务,:remote connect tinkerpop.server conf/remote.yaml





组建集群及多图
1、GremlinServer多图配置

服务器gremlin-server.yaml中可以设置多个graph的properties文件

graphs: {
graph: conf/gremlin-server/janusgraph-cassandra-es-server.properties,
pressureGraph: conf/gremlin-server/janusgraph-pressure.properties
}

janusgraph-pressure.properties中需要声明keyspace和index-name,否则会按照默认名字janusgraph建立存储和索引。多个properties指向同一个图。

storage.hostname=10.*.*.*
storage.cassandra.keyspace=pressure

index.pressure.hostname=10.*.*.*:9200

index.pressure.index-name=pressure

PS:可使用cqlsh describe keyspaces , curl -XGET 10.*.*.*:9200/_cat/indices查看存储及索引情况

scripts/empty-sample.groovy,增加traversalSource,对应不同的graph

globals << [g : graph.traversal(), p : pressureGraph.traversal()]



2、集群配置配置

客户端remote-objects.yaml,指定多实例IP,并实现负载均衡

hosts: [10.*.*.*,10.*.*.*]

jgex-remote.properties指定服务器上的traversalSource

gremlin.remote.driver.sourceName=p





索引优化及检查
1、composite索引,基于storage backend实现,仅支持相等(完全匹配),速度快

    mgmt.buildIndex('copIndustryCode', Vertex.class).addKey(industryCode).buildCompositeIndex()

2、mixed索引,基于index backend实现,支持如ES的特性,速度慢于composite索引。最后一个参数为index-name。

    mgmt.buildIndex('mixCompanyCode', Vertex.class).addKey(companyCode).buildMixedIndex("pressure")
3、可以使用gramlin.sh进行检索,如提示Query requires iterating over all vertices [(companyCode = 10)]. For better performance, use indexes,则表示未使用索引。

相反则代表使用了索引

gremlin> g.V().has("companyCode", textContains("1000")).valueMap()
==>[companyCode:[1000],companyName:[机构1000]]
gremlin> g.V().has("companyCode", "10").valueMap()
19:34:32 WARN org.janusgraph.graphdb.transaction.StandardJanusGraphTx - Query requires iterating over all vertices [(companyCode = 10)]. For better performance, use indexes



4.1 全剧配置

schema.default=none  // 关闭自动创建vertex label,edge label, property

# Required to enable Metrics in JanusGraph
metrics.enabled = true
force-index

4.2 storage backend

4.3 index backend





参考资料:

http://docs.janusgraph.org/latest/getting-started.html    官网

https://groups.google.com/forum/#!topic/gremlin-users/yWqS6gzmoYY         配置多graph, traversalSource
0
0
分享到:
评论

相关推荐

    Janusgraph分布式环境部署文档

    总之,这个压缩包提供了一套完整的Janusgraph分布式环境搭建指南,对于需要处理大规模图数据的项目来说,是一个宝贵的资源。在实际部署过程中,务必遵循文档指导,确保所有组件正确配置并协同工作。

    janusgraph,janusgraph:一个开源的分布式图形数据库.zip

    复制可以通过在多个节点上保存数据副本来提高容错性,而分片则将图分割成小块,分散在集群的不同节点上,以实现水平扩展和负载均衡。 JanusGraph的开源特性使其具有极高的灵活性和可定制性。开发者可以根据项目需求...

    janusGraph的linux分布式安装全家桶

    在所有组件都正确安装并配置后,你可以通过TinkerPop的Gremlin Server启动JanusGraph,然后就可以开始创建图、添加顶点和边,以及执行复杂的图查询。 总结一下,这个“janusGraph的linux分布式安装全家桶”涵盖了...

    janusgraph.zip

    在本压缩包中,包含了Janusgraph从0.3.0到0.4.1的hadoop2版本,这对于那些需要搭建或升级Janusgraph环境的用户来说是一份非常实用的资源。 首先,让我们详细了解Janusgraph的核心特性。Janusgraph是基于Apache ...

    janusGraph

    ### JanusGraph单机搭建及简单使用 #### 一、基础知识与环境介绍 JanusGraph是一种高度可扩展的图形数据库,支持属性图模型,并且能够处理大规模的数据集。它允许用户利用复杂的图形查询语言(例如Gremlin)来高效...

    Tinkerpop + JanusGraph + Hbase简单实现

    标题“Tinkerpop + JanusGraph + Hbase简单实现”涉及到的是一个图形数据库的搭建和使用的教程,主要组件包括Tinkerpop、JanusGraph和Hbase。这些技术都是大数据管理和分析领域的重要工具。 Tinkerpop是一个开源的...

    janusgraph-demo:janusgraph的api测试

    为了运行这个演示,你需要先搭建JanusGraph环境,这通常包括安装支持库(如HBase或Cassandra作为后端存储,Elasticsearch作为索引服务),然后启动相关服务。在Java环境中,你可以通过Maven或Gradle将JanusGraph库...

    janusgraph部署开发.docx

    部署配置上,JanusGraph提供了基础部署、高级部署和简单部署三种方案。基础部署适合大多数初学者,服务器和后端存储实例在同一台机器上运行,具有一定的扩展性和容错性。高级部署将不同组件分开部署,提供更高的灵活...

    janusgraph-docker-05:janusgraph-docker存储库,但根目录为0.5,唯一版本

    JanusGraph Docker映像 该存储库包含用于官方 Docker映像的构建脚本和配置文件,这些脚本和配置文件已发布在。 注意:即使以下示例和Docker Compose配置文件( *.yml )中的*.yml使用latest映像,在生产环境中运行...

    docs.janusgraph.org:JanusGraph文档站点

    4. **性能优化**:了解如何通过调整配置、索引策略和查询优化来提升JanusGraph的性能,尤其是在处理大数据量和高并发场景时。 5. **安全性**:JanusGraph提供了一些安全特性,如认证和授权,理解并实现这些功能可以...

    OpenLdap搭建配置日志索引全指导

    OpenLdap搭建配置日志索引,自己开发过程中踩的坑记录下来的。包好使。

    大数据druid集群析搭建

    大数据Druid集群实时分析搭建需要依赖多个组件,包括Zookeeper、Kafka、mysql等。需要配置Druid的extensions、zookeeper和mysql连接信息,并安装JDK 1.8和Node.js。最终,Druid可以支持实时查询和分析大数据。

    ElasticSearch集群搭建.doc

    在本文中,我们将深入探讨如何搭建Elasticsearch集群以及索引分片的相关概念。Elasticsearch是一个分布式的、实时的搜索和分析引擎,它能够处理大量数据并提供高效的检索服务。在多节点环境下构建Elasticsearch集群...

    fakeSerious.github.io:janusgraph知识summay

    2. 下载JanusGraph发行版,解压并配置`janusgraph.properties`文件以指定后端存储和索引服务。 3. 启动JanusGraph服务器。 4. 使用TinkerPop的Gremlin Console或Gremlin Server进行交互。 **基本操作** 1. **创建图...

    solr集群搭建

    Solr集群搭建是一个复杂但重要的过程,用于实现大型、高可用性和可扩展性的搜索解决方案。Apache Solr是一款基于Lucene的开源全文搜索引擎,它提供了分布式搜索、近实时处理、多字段排序等功能。以下是对Solr集群...

Global site tag (gtag.js) - Google Analytics