目录

1、集群架构:

2、服务器:

3、下载rpm软件包:

4、修改服务器打开最大文件数:

5、安装nebula:

(1)上传rpm软件包:

(2)执行rpm软件包:

6、修改meta服务配置:

(1)配置文件使用方式:

(2)修改配置文件参数:

① 增加参数local_config:

② 修改参数meta_server_addrs:

③ 修改参数local_ip:

④ 修改参数data_path:

⑤ 修改参数log_dir:

⑥ 默认参数ws_ip:

⑦ 默认参数port:

⑧ 默认参数ws_http_port:

⑨ 默认参数v:

⑩ 默认参数minloglevel:

7、修改graph服务配置:

(1)配置文件使用方式:

(2)修改配置文件参数:

① 增加参数增加参数local_config:

② 修改参数meta_server_addrs:

③ 修改参数local_ip:

④ 修改参数log_dir:

⑤ 默认参数ws_ip:

⑥ 默认参数port:

⑦ 默认参数ws_http_port:

⑧ 默认参数v:

⑨ 默认参数minloglevel:

8、修改storage服务配置:

(1)配置文件使用方式:

(2)修改配置文件参数:

① 增加参数local_config:

② 修改参数meta_server_addrs:

③ 修改参数local_ip:

④ 修改参数data_path:

⑤ 默认参数ws_ip:

⑥ 默认参数port:

⑦ 默认参数ws_http_port:

⑧ 默认参数log_dir:

⑨ 默认参数v:

⑩ 默认参数minloglevel:

9、操作集群:

(1)启动集群:

① 启动meta服务:

② 启动graph服务:

③ 启动storage服务:

(2)停止集群:

① 停止meta服务:

② 停止graph服务:

③ 停止storage服务:

(3)重启集群:

① 重启meta服务:

② 重启graph服务:

③ 重启storage服务:

10、设置启动为服务:

(1)创建服务脚本:

(2)授权服务脚本:

(3)刷新systemctl服务:

(4)操作服务:

① 启动meta服务:

② 停止meta服务:

③ 启动graph服务:

④ 停止graph服务:

⑤ 启动storage服务:

⑥ 停止storage服务:

11、设置启动服务开机自启:

(1)设置开机自启meta服务:

(2)设置开机自启graph服务:

(3)设置开机自启storage服务:

12、检查集群:

13、监控指标:

(1)监控指标说明:

(2)监控指标查询:

(3)监控指标示例:

① 查询meta指标:

② 查询graph指标:

③ 查询storage指标:


1、集群架构:

Nebula集群分为测试集群、生产集群,不同环境的集群对应的服务数量不同,大致如下:

集群类别

Meta服务

Graph服务

Storage服务

测试集群

1

>=1

>=1

生产集群

3

>=3

>=3

测试环境一般是3台服务器,可以按照如下配置搭建:

服务器

Meta服务

Graph服务

Storage服务

服务器A

1

1

1

服务器B

1

1

服务器C

1

1

生产环境一般是5台服务器,可以按照如下配置搭建:

服务器

Meta服务

Graph服务

Storage服务

服务器A

1

1

1

服务器B

1

1

1

服务器C

1

1

1

服务器D

1

1

服务器E

1

1

2、服务器:

本地虚拟机采用3台服务器,服务器内核建议使用3.10及以上,搭建测试集群:

服务器IP

Meta服务端口号

Graph服务端口号

Storage服务端口号

192.168.137.111

9559

9669

9779

192.168.137.112

9669

9779

192.168.137.113

9669

9779

3、下载rpm软件包:

下载需要版本的rpm软件包,本次下载nebula-2.0.0版本,下载地址:https://nebula-graph.io/release/

4、修改服务器打开最大文件数:

在集群所有节点上,进行如下操作:

修改配置文件:/etc/security/limits.conf,该参数只是修改了线程的参数,还需要修改下面系统级别的参数,增加如下参数:

* soft nofile 65535

* hard nofile 65535

修改配置文件:/proc/sys/fs/file-max,将其中的值大于上面配置的数值。

最后重新启动服务器。

5、安装nebula:

在集群所有节点上,进行如下操作:

(1)上传rpm软件包:

将下载好的rpm软件包上传到服务器的指定文件夹中。

(2)执行rpm软件包:

通过cd命令进入到nebula的rpm软件包的文件夹中,然后执行安装nebula的命令:

rpm -ivh nebula-graph-2.0.0.el7.x86_64.rpm

安装好nebula后,nebula的安装路径是:/usr/local/nebula,有关nebula的配置文件路径是:/usr/local/nebula/etc

6、修改meta服务配置:

在集群安装有meta的服务器上,进行如下操作:

(1)配置文件使用方式:

首次启动时,Meta服务会从配置文件nebula-metad.conf中读取配置信息。您需要把初始配置文件的后缀.default或.production删除,Meta服务才能将其识别为配置文件。

如果修改了配置文件,希望新配置生效,请在配置文件开头添加--local_config=true再重启服务,否则会从缓存中读取过期配置。

(2)修改配置文件参数:

服务meta的配置文件为:/usr/local/nebula/etc/nebula-metad.conf,修改该配置文件即可。

① 增加参数local_config:

在配置文件第一行,增加参数:--local_config=true。

② 修改参数meta_server_addrs:

全部Meta服务的IP地址和端口。多个Meta服务用英文逗号(,)分隔。预设值:127.0.0.1:9559。

③ 修改参数local_ip:

Meta服务的本地IP地址。本地IP地址用于识别nebula-metad进程,如果是分布式集群或需要远程访问,请修改为对应地址。预设值:127.0.0.1。

④ 修改参数data_path:

meta数据存储路径。预设值:data/meta。

⑤ 修改参数log_dir:

存放Meta服务日志的目录,建议和数据保存在不同硬盘。预设值:logs。

⑥ 默认参数ws_ip:

HTTP服务的IP地址。预设值:0.0.0.0。

⑦ 默认参数port:

Meta服务的RPC守护进程监听端口。Meta服务对外端口为9559,对内端口为对外端口+1,即9560,Nebula Graph使用内部端口进行多副本间的交互。预设值:9559。

⑧ 默认参数ws_http_port:

HTTP服务的端口。预设值:19559。

⑨ 默认参数v:

日志详细级别,值越大,日志记录越详细。可选值为0、1、2、3。预设值:0。

⑩ 默认参数minloglevel:

最小日志级别,即不会记录低于这个级别的日志。可选值为0(INFO)、1(WARNING)、2(ERROR)、3(FATAL)。建议您在调试时设置为0,生产环境中设置为1。如果设置为4,Nebula Graph不会记录任何日志。预设值:0。

7、修改graph服务配置:

在集群安装有graph的服务器上,进行如下操作:

(1)配置文件使用方式:

首次启动时,Graph服务会从配置文件nebula-graphd.conf中读取配置信息。您需要把初始配置文件的后缀.default或.production删除,Graph服务才能将其识别为配置文件。

如果修改了配置文件,希望新配置生效,请在配置文件开头添加--local_config=true再重启服务,否则会从缓存中读取过期配置。

(2)修改配置文件参数:

服务graph的配置文件为:/usr/local/nebula/etc/nebula-graphd.conf,修改该配置文件即可。

① 增加参数增加参数local_config:

在配置文件第一行,增加参数:--local_config=true。

② 修改参数meta_server_addrs:

全部Meta服务的IP地址和端口。多个Meta服务用英文逗号(,)分隔。预设值:127.0.0.1:9559。

③ 修改参数local_ip:

Graph服务的本地IP地址。本地IP地址用于识别nebula-graphd进程,如果是分布式集群或需要远程访问,请修改为对应地址。预设值:127.0.0.1。

④ 修改参数log_dir:

存放Graph服务日志的目录,建议和数据保存在不同硬盘。预设值:logs。

⑤ 默认参数ws_ip:

HTTP服务的IP地址。预设值:0.0.0.0。

⑥ 默认参数port:

Graph服务的RPC守护进程监听端口。预设值:9669。

⑦ 默认参数ws_http_port:

HTTP服务的端口。预设值:19669。

⑧ 默认参数v:

日志详细级别,值越大,日志记录越详细。可选值为0、1、2、3。预设值:0。

⑨ 默认参数minloglevel:

最小日志级别,即不会记录低于这个级别的日志。可选值为0(INFO)、1(WARNING)、2(ERROR)、3(FATAL)。建议您在调试时设置为0,生产环境中设置为1。如果设置为4,Nebula Graph不会记录任何日志。预设值:0。

8、修改storage服务配置:

在集群安装有storage的服务器上,进行如下操作:

(1)配置文件使用方式:

首次启动时,Storage服务会从配置文件nebula-storaged.conf中读取配置信息。您需要把初始配置文件的后缀.default或.production删除,Storage服务才能将其识别为配置文件。

如果修改了配置文件,希望新配置生效,请在配置文件开头添加--local_config=true再重启服务,否则会从缓存中读取过期配置。

(2)修改配置文件参数:

服务graph的配置文件为:/usr/local/nebula/etc/nebula-storaged.conf,修改该配置文件即可。

① 增加参数local_config:

在配置文件第一行,增加参数:--local_config=true。

② 修改参数meta_server_addrs:

全部Meta服务的IP地址和端口。多个Meta服务用英文逗号(,)分隔。预设值:127.0.0.1:9559。

③ 修改参数local_ip:

Storage服务的本地IP地址。本地IP地址用于识别nebula-storaged进程,如果是分布式集群或需要远程访问,请修改为对应地址。预设值:127.0.0.1。

④ 修改参数data_path:

数据存储路径,多个路径用英文逗号(,)分隔。一个RocksDB实例对应一个路径。预设值:data/storage

⑤ 默认参数ws_ip:

HTTP服务的IP地址。预设值:0.0.0.0。

⑥ 默认参数port:

Storage服务的RPC守护进程监听端口。Storage服务对外端口为9779,对内端口为9777、9778和9780,Nebula Graph使用内部端口进行多副本间的交互。预设值:9779。

⑦ 默认参数ws_http_port:

HTTP服务的端口。预设值:19779。

⑧ 默认参数log_dir:

存放Storage服务日志的目录,建议和数据保存在不同硬盘。预设值:logs。

⑨ 默认参数v:

日志详细级别,值越大,日志记录越详细。可选值为0、1、2、3。预设值:0。

⑩ 默认参数minloglevel:

最小日志级别,即不会记录低于这个级别的日志。可选值为0(INFO)、1(WARNING)、2(ERROR)、3(FATAL)。建议您在调试时设置为0,生产环境中设置为1。如果设置为4,Nebula Graph不会记录任何日志。预设值:0。

9、操作集群:

(1)启动集群:

在集群的各个节点上启动对应的服务即可。

① 启动meta服务:

执行命令:

/usr/local/nebula/scripts/nebula.service start metad

② 启动graph服务:

执行命令:

/usr/local/nebula/scripts/nebula.service start graphd

③ 启动storage服务:

执行命令:

/usr/local/nebula/scripts/nebula.service start storaged

(2)停止集群:

在集群的各个节点上停止对应的服务即可。

① 停止meta服务:

执行命令:

/usr/local/nebula/scripts/nebula.service stop metad

② 停止graph服务:

执行命令:

/usr/local/nebula/scripts/nebula.service stop graphd

③ 停止storage服务:

执行命令:

/usr/local/nebula/scripts/nebula.service stop storaged

(3)重启集群:

在集群的各个节点上重启对应的服务即可。

① 重启meta服务:

执行命令:

/usr/local/nebula/scripts/nebula.service restart metad

② 重启graph服务:

执行命令:

/usr/local/nebula/scripts/nebula.service restart graphd

③ 重启storage服务:

执行命令:

/usr/local/nebula/scripts/nebula.service restart storaged

10、设置启动为服务:

在集群的各个节点上进行操作。

(1)创建服务脚本:

进入/usr/lib/systemd/system目录,分别创建meta.service、graph.service、storage.service文件,内容格式如下,只是启动、停止命令不同而已:

[Unit]

Description=neo4j

After=network-online.target firewalld.service



[Service]

Type=forking

ExecStart=/usr/local/nebula/scripts/nebula.service start metad

ExecStop=/usr/local/nebula/scripts/nebula.service stop metad

PrivateTpm=true



[Install]

WantedBy=multi-user.target

(2)授权服务脚本:

执行命令:

chmod 777 meta.service

执行命令:

chmod 777 graph.service

执行命令:

chmod 777 storage.service

(3)刷新systemctl服务:

执行命令:

systemctl daemon-reload

(4)操作服务:

① 启动meta服务:

执行命令:

systemctl start meta.service

② 停止meta服务:

执行命令:

systemctl stop meta.service

③ 启动graph服务:

执行命令:

systemctl start graph.service

④ 停止graph服务:

执行命令:

systemctl stop graph.service

⑤ 启动storage服务:

执行命令:

systemctl start storage.service

⑥ 停止storage服务:

执行命令:

systemctl stop storage.service

11、设置启动服务开机自启:

(1)设置开机自启meta服务:

执行命令:

systemctl enable meta.service

(2)设置开机自启graph服务:

执行命令:

systemctl enable graph.service

(3)设置开机自启storage服务:

执行命令:

systemctl enable storage.service

12、检查集群:

连接到集群的任意一个Graph服务,查看集群状态。

执行命令nGql命令:SHOW HOSTS。

13、监控指标:

(1)监控指标说明:

Nebula Graph的每个监控指标都由三个部分组成,中间用英文句号(.)隔开,例如num_queries.sum.600。不同的Nebula Graph服务支持查询的监控指标也不同。示例指标结构的说明如下:

类别

示例

说明

指标名称

num_queries

简单描述指标的含义。

统计类型

sum

指标统计的方法。当前支持SUM、COUNT、AVG、RATE和P分位数(P75、P95、P99、P99.9)。

统计时间

600

指标统计的时间范围,当前支持5秒、60秒、600秒和3600秒,分别表示最近5秒、最近1分钟、最近10分钟和最近1小时。

(2)监控指标查询:

通过HTTP端口查询监控指标语法如下:

curl -G "http://<ip>:<port>/stats?stats=<metric_name_list> [&format=json]"

参数含义:

选项 说明

选项

说明

ip

服务器的IP地址,可以在安装目录内查看配置文件获取。

port

服务器的HTTP端口,可以在安装目录内查看配置文件获取。默认情况下,Meta服务端口为19559,Graph服务端口为19669,Storage服务端口为19779。

metric_name_list

监控指标名称,多个监控指标用英文逗号(,)隔开。

&format=json

将结果以JSON格式返回。

(3)监控指标示例:

① 查询meta指标:

不指定查询某个监控指标时,会返回该服务器上所有的监控指标。查询请求示例:

 curl -G "http://192.168.137.111:19559/stats"

结果示例:

value=231

name=heartbeat_latency_us.avg.5

value=143

name=heartbeat_latency_us.avg.60

value=165

name=heartbeat_latency_us.avg.600

value=173

name=heartbeat_latency_us.avg.3600

② 查询graph指标:

不指定查询某个监控指标时,会返回该服务器上所有的监控指标。查询请求示例:

 curl -G "http://192.168.137.111:19669/stats"

结果示例:

value=0

name=slow_query_latency_us.avg.5

value=0

name=slow_query_latency_us.avg.60

value=0

name=slow_query_latency_us.avg.600

value=0

name=slow_query_latency_us.avg.3600

value=0

name=slow_query_latency_us.p75.5

value=0

name=slow_query_latency_us.p75.60

value=0

name=slow_query_latency_us.p75.600

value=0

name=slow_query_latency_us.p75.3600

value=0

name=slow_query_latency_us.p95.5

value=0

name=slow_query_latency_us.p95.60

value=0

name=slow_query_latency_us.p95.600

value=0

name=slow_query_latency_us.p95.3600

③ 查询storage指标:

不指定查询某个监控指标时,会返回该服务器上所有的监控指标。查询请求示例:

 curl -G "http://192.168.137.111:19779/stats"

结果示例:

value=0

name=num_lookup_errors.rate.5

value=0

name=num_lookup_errors.rate.60

value=0

name=num_lookup_errors.rate.600

value=0

name=num_lookup_errors.rate.3600

value=0

name=num_lookup_errors.sum.5

value=0

name=num_lookup_errors.sum.60

value=0

name=num_lookup_errors.sum.600

value=0

name=num_lookup_errors.sum.3600

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐