前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JanusGraph·server端配置启动和远程remote连接·多实例问题

JanusGraph·server端配置启动和远程remote连接·多实例问题

作者头像
陈黎栋
发布2020-02-18 10:26:15
2.4K0
发布2020-02-18 10:26:15
举报
  • 4.2.2. JanusGraph Server JanusGraph本身就是一组没有执行线程的jar文件。连接和使用JanusGraph数据库有两种基本模式: 1.嵌入式
    • 补充自己的实验记录
  • 2.当JanusGraph被启动时,JanusGraph打包了一个长期运行的服务器进程(JanusGraph Server),这个服务器进程允许远程客户端进行JanusGraph调用.
  • JanusGraph packages a long running server process that, when started, allows a remote client or logic running in a separate program (??) to make JanusGraph calls. This long running server process is called JanusGraph Server.
  • For the JanusGraph Server, JanusGraph 使用 Apache TinkerPopGremlin Server 来服务client的请求。JanusGraph提供了一个开箱即用的配置,可以快速启动JanusGraph Server,但可以更改配置以提供广泛的服务器功能。 配置JanusGraph Server是通过位于JanusGraph发行版的./conf/gremlin-server目录中的JanusGraph Server yaml配置文件完成的。要使用graph实例(JanusGraph)配置JanusGraph Server ,JanusGraph Server配置文件需要以下设置:
  • ... graphs: { graph: conf/janusgraph-berkeleyje.properties } plugins: - janusgraph.imports ?? 这里不知道怎么处理 ...
  • 下图跟上面不太一致
  • conf 和 conf/gremlin-server下都有 .properties文件 ,conf/gremlin-server下的.properties文件多一个 -server.properties后缀,粗略看了下两者的内容,好像是差不多的。
  • graph条目绑定绑graph到JanusGraph配置conf/janusgraph-berkeleyje.properties.
  • The plugins entry enables the JanusGraph Gremlin Plugin, which enables auto-imports of JanusGraph classes(自动导入的 JanusGraph classes) so that 它们可以在远程提交的脚本中被引用.
  • 了解更多有关配置和使用JanusGraph服务器第7章,JanusGraph服务器
  • 4.2.2.1. Server Distribution
    • bin/janusgraph.sh 是一个快速启动Gremlin Server和JanusGraph的脚本。
    • Invoke bin/janusgraph.sh start to start Gremlin Server with Cassandra and Elasticsearch
  • 解压
  • 刚解压的 直接./gremlin-server无法成功启动,因为你conf/gremlin-server/janusgraph-cql-es-server.properties
  • 需要修改.yaml中的 .properties的路径
  • Gremlin
  • 在gremlin-server没有启动(gremlin-console自然也无法通过:remote连接)的情况下,gremlin-console也能执行下面的语句
  • gremlin> graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties') ==>standardjanusgraph[berkeleyje:../db/berkeley] gremlin> GraphOfTheGodsFactory.load(graph) ==>null gremlin> g = graph.traversal() ==>graphtraversalsource[standardjanusgraph[berkeleyje:../db/berkeley], standard
  • java远程连接代码
    • graph = EmptyGraph.instance(); g = graph.traversal().withRemote(conf); 需要配置一个 remote-objects.yaml:
      • hosts: [xx,xxx,xx] port: 8182 serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] } }
      • 这个配置文件可以配置多个host,用逗号隔开
      • 连接一台host上的多实例,应该使用http类型的janus graph server, 然后直接通过 url + port + post (body),每个实例配置不同端口 这种方式也不需要通过remote连接。
      • 连接JanusGraph RemoteServer的Java程序例子. https://github.com/JanusGraph/janusgraph/tree/master/janusgraph-examples/example-remotegraph
  • Use gremlin console to connect to gremlin-server
    • :remote connect tinkerpop.server ../conf/remote.yaml
    • 测试代码

graph = JanusGraphFactory.build().set("storage.backend", "inmemory").set("storage.hostname","10.158.69.75").open()

g = graph.traversal()

  • 多实例架构图
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档