考虑到不少同学/用户是用 Windows 环境开发, 而 Windows 下一些 path 解析和环境问题会比较蛋疼, 所以用它来举例. 而其他 Mac/Linux
是类似的, 只是不用特殊处理 path, 更加简单.
本地启动核心与脚本启动是一样的, 而且更为简单, 通用只需一/两步:
- 如果是第一次使用/或者新增了新的图, 执行
InitStore
类初始化图 (后续可省) - 执行
HugeGraphServer
类加载初始化的图信息启动 (每次启/停/debug)
请注意下面的配置文件随时可能会有更新, 请务必按最新代码的 path/name
来确认, 不一致的地方应询问确认提交 PR 修正, 谢谢
另目前版本的 mvn 编译时自动生成脚本的地方是 bash 不兼容, 如果需要 windows 本地编译可以参考 issue 中相关方法注释掉部分, 更推荐使用 wsl2
环境
-
首先copy一份配置文件到你本地一个目录 (e.g:
hugegraph/hugegraph-dist/src/assembly/static/conf
) , 假设本地是D:\conf
, 在IDEA的Run/Debug configurations
里新建一个Application
, 然后先选中Use classpath of module
为hugegraph-dist
, 再设置Main class
为InitStore
类 -
根据初始化脚本, 我们需要手动传入
gremlin-server.yaml
文件, 这里写D:\conf\gremlin-server.yaml
, 然后保存 -
把
gremlin-server.yaml
文件里的graphs配置值用双引号括起来写绝对路径, 不然会一直提示找不到文件. 然后单机运行的话, 建议修改hugegraph.properties
的backend为Mysql(自行安装). 然后保存后, 运行InitSotre
, 没用rocksdb是因为在 win 下安装麻烦(Linux/Mac可直接用), -
另外一个好处是对于新同学来说, mysql 的可视化/表结构最为简单清晰(可作为最初的入门/查看表结构的方式, 但后续仍要以 binary 为主)
# 仅 0.12 以下的版本需要配置, 新版/apache 版均无需配置, 请注意更新查看 (官方文档应以最新版配置文件作为参考说明) graphs: { hugegraph: "D:\\conf\\hugegraph.properties" } # 最新的Server更新了Tinkerpop版本,你需要用新的模板替代 org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: { files: ["D:\\conf\\scripts\\empty-sample.groovy"] }
-
提示初始化成功后, 再修改刚才配置的
Main class
为HugeGraphServer
,然后加一个配置文件如D:\conf\rest-server.properties
,这里注意不能加双引号, 也要写绝对路径.# 得这样写...反斜杠建议别省, 官网文档建议分 unix/windows 的两个方式说明更好一些 # 另外如果相对路径无法读取, 需要使用绝对路径, 原因待确定 (可以标记为一个优化 todo) graphs=[hugegraph:D:\\conf\\hugegraph.properties]
- 再就可以在各种测试里愉快的对代码进行调教了, 然后JVM观察也会方便许多
- 注意, 如果你发现更新拉取了远端代码之后运行 Server 失败, 那么很可能是以下两种原因:
- 配置文件更新改了, 和原先的冲突 (你需要查看最新的配置文件, 然后适配一下)
- 后端的数据结构改变了, 导致初始化失败 (你需要清空/或删除本地DB, 然后重新初始化图)
非 Windows 端同学可略过
loader端主要是新版在 Win 下可能有个很蛋疼的配置文件插件bug问题, 导致无法生成测试用的profile.properties
文件, 解决办法参考Stackoverflow后如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0</version>
<!-- 把配置标签从原本的executions搬出来...如果有波浪线提示就自动修复一下,不管也行.. -->
<configuration><outputFile> ... </outputFile></configuration>
<executions> .... </executions>
</plugin>
上述配置是基于 0.12 之前的版本,在最新的 master 分支下,server 端的配置有如下变化:
hugegraph/hugegraph-dist/src/assembly/static/scripts
,否则运行HugeGraphServer
时会报错conf/graphs/hugegraph.properties