配置文件的目录为 hugegraph-release/conf,所有关于服务和图本身的配置都在此目录下
主要的配置文件包括:gremlin-server.yaml、rest-server.properties 和 hugegraph.properties
HugeGraphServer 内部集成了 GremlinServer(配置文件:gremlin-server.yaml) 和 RestServer(配置文件:rest-server.properties)
GremlinServer:GremlinServer接受用户的gremlin语句,解析后转而调用Core的代码
RestServer:提供Restful API,根据不同的HTTP请求,调用对应的Core API,如果用户请求体是gremlin语句,则会转发给GremlinServer,实现对图数据的操作
# If you want to start gremlin-server for gremlin-console(web-socket),
# please change `HttpChannelizer` to `WebSocketChannelizer` or comment this line.
channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer
graphs: {
hugegraph: conf/hugegraph.properties
}
配置项很多,但目前只需要关注如下几个配置项:channelizer 和 graphs
默认GremlinServer是服务在 localhost:8182,如果需要修改,配置 host、port 即可,目前 HugeGraphServer 不支持分布式部署,且GremlinServer不直接暴露给用户;
同时需要在 rest-server.properties 中增加对应的配置项 gremlinserver.url=http://host:port
注意:init-store
命令是根据 gremlin-server.yaml 的 graphs 下的图进行初始化的。
restserver.url=http://127.0.0.1:8080
gremlinserver.url=http://127.0.0.1:8182
graphs=[hugegraph:conf/hugegraph.properties]
#max_vertices_per_batch=500
#max_edges_per_batch=500
restserver.url:RestServer 提供服务的 url,根据实际环境修改;
gremlinserver.url:GremlinServer 为RestServer提供服务的 url,该配置项默认为 http://localhost:8182,如需修改,需要和 gremlin-server.yaml 中的 host 和 port 相匹配;
graphs:RestServer 启动时也需要打开图,该项为 map 结构,key 是图的名字,value 是该图的配置文件路径;
gremlin.graph=com.baidu.hugegraph.HugeFactory
backend=cassandra
serializer=cassandra
store=hugegraph
rocksdb.data_path=.
rocksdb.wal_path=.
cassandra.host=localhost
cassandra.port=9042
cassandra.username=
cassandra.password=
admin.token=162f7848-0b6d-4faf-b557-3a0797869c55
重点关注未注释的几项:
我们的系统是可以存在多个图的,并且各个图的后端可以不一样,比如图 hugegraph 和 hugegraph1,其中 hugegraph 以 cassandra 作为后端,hugegraph1 以 rocksdb作为后端
修改 gremlin-server.yaml
在 gremlin-server.yaml 的 graphs 域中添加一个键值对,键为图的名字,值为图的配置文件路径,比如:
graphs: {
hugegraph: conf/hugegraph.properties,
hugegraph1: conf/hugegraph1.properties
}
修改 rest-server.properties
在 rest-server.properties 的 graphs 域中添加一个键值对,键为图的名字,值为图的配置文件路径,比如:
graphs=[hugegraph:conf/hugegraph.properties, hugegraph1:conf/hugegraph1.properties]
添加 hugegraph1.properties
拷贝 hugegraph.properties,命名为 hugegraph1.properties,修改图对应的数据库名以及关于后端部分的参数,比如:
store=hugegraph1
...
backend=rocksdb
serializer=binary
停止 Server,初始化执行 init-store.sh(为新的图创建数据库),重新启动 Server
$ bin/stop-hugegraph.sh
$ bin/init-store.sh
$ bin/start-hugegraph.sh