From 21be1027e446226208623fb012c1e5466f37a247 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Mon, 13 Mar 2023 10:25:45 +0800 Subject: [PATCH] Merge from 3.4.1 --- docs-2.0/1.introduction/3.vid.md | 2 +- .../2.quick-start/1.quick-start-overview.md | 2 +- docs-2.0/20.appendix/history.md | 8 +- .../dashboard-ent-release-note.md | 8 + .../release-notes/nebula-comm-release-note.md | 62 +---- .../release-notes/nebula-ent-release-note.md | 85 +----- .../keywords-and-reserved-words.md | 2 +- .../10.tag-statements/1.create-tag.md | 2 +- .../13.edge-statements/1.insert-edge.md | 4 +- .../13.edge-statements/3.upsert-edge.md | 4 +- .../1.create-native-index.md | 2 +- .../16.subgraph-and-path/1.get-subgraph.md | 12 +- .../2.user-defined-variables.md | 3 +- docs-2.0/3.ngql-guide/5.operators/4.pipe.md | 2 - .../6.functions-and-expressions/4.schema.md | 16 ++ .../deploy-nebula-graph-cluster.md | 8 +- .../upgrade-nebula-ent-from-3.x-3.4.md | 7 +- .../upgrade-nebula-from-300-to-latest.md | 8 +- .../upgrade-nebula-graph-to-latest.md | 7 +- .../1.configurations/1.configurations.md | 25 ++ .../1.configurations/2.meta-config.md | 92 ++++--- .../1.configurations/3.graph-config.md | 161 +++++------ .../1.configurations/4.storage-config.md | 162 +++++------ .../enable_autofdo_for_nebulagraph.md | 197 ++++++++++++++ .../nebula-br-ent/2.install-tools.md | 2 +- .../nebula-br/1.what-is-br.md | 2 +- .../nebula-br/2.compile-br.md | 2 +- .../nebula-br/3.br-backup-data.md | 2 +- .../graph-computing/algorithm-description.md | 8 + docs-2.0/graph-computing/nebula-algorithm.md | 11 +- docs-2.0/graph-computing/nebula-analytics.md | 3 +- docs-2.0/nebula-cloud/1.what-is-cloud.md | 31 +-- .../1.create-service-instance.md | 153 +++++++---- .../2.use-cloud-services.md | 50 ++-- .../4.scaling-services.md | 46 ++++ .../1.what-is-dashboard-ent.md | 1 + .../cluster-information/runtime-log.md | 4 +- .../operator/version-upgrade.md | 4 +- .../nebula-dashboard/1.what-is-dashboard.md | 1 + .../about-exchange/ex-ug-what-is-exchange.md | 9 +- .../use-exchange/ex-ug-export-from-nebula.md | 251 ++++++++++++++---- .../ex-ug-import-from-clickhouse.md | 5 +- .../use-exchange/ex-ug-import-from-csv.md | 4 +- .../use-exchange/ex-ug-import-from-hbase.md | 4 +- .../use-exchange/ex-ug-import-from-hive.md | 4 +- .../use-exchange/ex-ug-import-from-jdbc.md | 4 +- .../use-exchange/ex-ug-import-from-json.md | 4 +- .../use-exchange/ex-ug-import-from-kafka.md | 4 +- .../ex-ug-import-from-maxcompute.md | 4 +- .../use-exchange/ex-ug-import-from-mysql.md | 4 +- .../use-exchange/ex-ug-import-from-neo4j.md | 4 +- .../use-exchange/ex-ug-import-from-oracle.md | 4 +- .../use-exchange/ex-ug-import-from-orc.md | 4 +- .../use-exchange/ex-ug-import-from-parquet.md | 4 +- .../use-exchange/ex-ug-import-from-pulsar.md | 4 +- .../use-exchange/ex-ug-import-from-sst.md | 4 +- .../about-explorer/ex-ug-what-is-explorer.md | 1 + .../workflow-api/workflow-api-overview.md | 4 +- .../nebula-importer/config-with-header.md | 3 +- .../nebula-importer/config-without-header.md | 3 +- .../1.introduction-to-nebula-operator.md | 4 +- .../10.backup-restore-using-operator.md | 227 ++++++++++++++++ .../8.1.custom-conf-parameter.md | 16 +- .../8.2.pv-reclaim.md | 7 +- docs-2.0/nebula-spark-connector.md | 64 +++-- .../st-ug-what-is-graph-studio.md | 3 +- .../deploy-connect/st-ug-deploy.md | 2 +- .../reuse/source_create_instance_aliyun.md | 123 +++++---- mkdocs.yml | 204 +++++++------- 69 files changed, 1461 insertions(+), 722 deletions(-) create mode 100644 docs-2.0/8.service-tuning/enable_autofdo_for_nebulagraph.md create mode 100644 docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/4.scaling-services.md create mode 100644 docs-2.0/nebula-operator/10.backup-restore-using-operator.md diff --git a/docs-2.0/1.introduction/3.vid.md b/docs-2.0/1.introduction/3.vid.md index 6cdea6b2792..86d60813fcd 100644 --- a/docs-2.0/1.introduction/3.vid.md +++ b/docs-2.0/1.introduction/3.vid.md @@ -1,6 +1,6 @@ # 点 VID -在 NebulaGraph 中,一个点由点的 ID 唯一标识,即 VID 或 Vertex ID。 +在一个图空间中,一个点由点的 ID 唯一标识,即 VID 或 Vertex ID。 ## VID 的特点 diff --git a/docs-2.0/2.quick-start/1.quick-start-overview.md b/docs-2.0/2.quick-start/1.quick-start-overview.md index f6f95286737..0df2ae90f49 100644 --- a/docs-2.0/2.quick-start/1.quick-start-overview.md +++ b/docs-2.0/2.quick-start/1.quick-start-overview.md @@ -22,11 +22,11 @@ ![docker-update](https://docs-cdn.nebula-graph.com.cn/figures/docker-update.png) - 视频介绍 + ## 云上部署 ### 使用流程图 diff --git a/docs-2.0/20.appendix/history.md b/docs-2.0/20.appendix/history.md index 5baf3e74796..79f769a7cde 100644 --- a/docs-2.0/20.appendix/history.md +++ b/docs-2.0/20.appendix/history.md @@ -35,4 +35,10 @@ 9. 2022.2 发布 v3.0.0 -10. 2022.4 发布 v3.1.0 \ No newline at end of file +10. 2022.4 发布 v3.1.0 + +11. 2022.7 发布 v3.2.0 + +12. 2022.10 发布 v3.3.0 + +13. 2023.2 发布 v3.4.0 \ No newline at end of file diff --git a/docs-2.0/20.appendix/release-notes/dashboard-ent-release-note.md b/docs-2.0/20.appendix/release-notes/dashboard-ent-release-note.md index a9146290b98..265a91fc1b4 100644 --- a/docs-2.0/20.appendix/release-notes/dashboard-ent-release-note.md +++ b/docs-2.0/20.appendix/release-notes/dashboard-ent-release-note.md @@ -1,5 +1,13 @@ # NebulaGraph Dashboard 企业版更新说明 +## 企业版 v3.4.1 + +- 缺陷修复 + + - 修复 RPM 包因为权限问题无法执行 `nebula-agent` 的问题。 + - 修复 goconfig 文件夹权限问题导致无法查看集群导入信息的问题。 + - 修复当许可证过期时间小于`30`天且`gracePeriod`大于`0`时页面提示错误的问题。 + ## 企业版 v3.4.0 - 功能 diff --git a/docs-2.0/20.appendix/release-notes/nebula-comm-release-note.md b/docs-2.0/20.appendix/release-notes/nebula-comm-release-note.md index eb23f5ed519..975c4ad9904 100644 --- a/docs-2.0/20.appendix/release-notes/nebula-comm-release-note.md +++ b/docs-2.0/20.appendix/release-notes/nebula-comm-release-note.md @@ -1,67 +1,11 @@ # NebulaGraph 社区版 {{ nebula.release }} release notes -## 功能 - -- 支持[终止会话](../../3.ngql-guide/17.query-tuning-statements/2.kill-session.md)。[#5146](https://github.com/vesoft-inc/nebula/pull/5146) -- 支持 [Memory Tracker](../../5.configurations-and-logs/1.configurations/4.storage-config.md),优化内存管理。[#5082](https://github.com/vesoft-inc/nebula/pull/5082) - -## 优化 - -- 优化作业管理。 [#5212](https://github.com/vesoft-inc/nebula/pull/5212) [#5093](https://github.com/vesoft-inc/nebula/pull/5093) [#5099](https://github.com/vesoft-inc/nebula/pull/5099) [#4872](https://github.com/vesoft-inc/nebula/pull/4872) - -- 修改 Graph 服务配置参数`session_reclaim_interval_secs`的默认值更改为 60 秒。 [#5246](https://github.com/vesoft-inc/nebula/pull/5246) - -- 调整配置文件中`stderrthreshold`的默认级别。 [#5188](https://github.com/vesoft-inc/nebula/pull/5188) - -- 优化全文索引。 [#5077](https://github.com/vesoft-inc/nebula/pull/5077) [#4900](https://github.com/vesoft-inc/nebula/pull/4900) [#4925](https://github.com/vesoft-inc/nebula/pull/4925) - -- 限制优化器中计划树的最大深度以避免堆栈溢出。 [#5050](https://github.com/vesoft-inc/nebula/pull/5050) - -- 优化模式表达式作为谓词时的处理方案。 [#4916](https://github.com/vesoft-inc/nebula/pull/4916) - ## 缺陷修复 -- 修复查询计划生成与优化时的问题。 [#4863](https://github.com/vesoft-inc/nebula/pull/4863) [#4813](https://github.com/vesoft-inc/nebula/pull/4813) - -- 修复索引相关的缺陷: - - - 全文索引 [#5214](https://github.com/vesoft-inc/nebula/pull/5214) [#5260](https://github.com/vesoft-inc/nebula/pull/5260) - - 字符串索引 [5126](https://github.com/vesoft-inc/nebula/pull/5126) - -- 修复查询语句的缺陷: - - - 变量 [#5192](https://github.com/vesoft-inc/nebula/pull/5192) - - 过滤条件和表达式 [#4952](https://github.com/vesoft-inc/nebula/pull/4952) [#4893](https://github.com/vesoft-inc/nebula/pull/4893) [#4863](https://github.com/vesoft-inc/nebula/pull/4863) - - 点或边的属性 [#5230](https://github.com/vesoft-inc/nebula/pull/5230) [#4846](https://github.com/vesoft-inc/nebula/pull/4846) [#4841](https://github.com/vesoft-inc/nebula/pull/4841) [#5238](https://github.com/vesoft-inc/nebula/pull/5238) - - 函数与聚合 [#5135](https://github.com/vesoft-inc/nebula/pull/5135) [#5121](https://github.com/vesoft-inc/nebula/pull/5121) [#4884](https://github.com/vesoft-inc/nebula/pull/4884) - - 使用非法的数据类型 [#5242](https://github.com/vesoft-inc/nebula/pull/5242) - - 子句与算子 [#5241](https://github.com/vesoft-inc/nebula/pull/5241) [#4965](https://github.com/vesoft-inc/nebula/pull/4965) - -- 修复 DDL 和 DML 语句相关的缺陷: - - - ALTER TAG [#5105](https://github.com/vesoft-inc/nebula/pull/5105) [#5136](https://github.com/vesoft-inc/nebula/pull/5136) - - UPDATE [#4933](https://github.com/vesoft-inc/nebula/pull/4933) - -- 修复其它功能的缺陷: - - - TTL [#4961](https://github.com/vesoft-inc/nebula/pull/4961) - - 身份验证 [#4885](https://github.com/vesoft-inc/nebula/pull/4885) - - 服务 [#4896](https://github.com/vesoft-inc/nebula/pull/4896) - -## 变更 +- 修复参数表达式编码到存储层执行时导致崩溃的问题。 [#5336](https://github.com/vesoft-inc/nebula/pull/5336) -- 新增的属性名不能与已存在或被删除的属性名同名,否则新增属性会失败。 [#5130](https://github.com/vesoft-inc/nebula/pull/5130) -- 限制修改 Schema 时的类型转换。 [#5098](https://github.com/vesoft-inc/nebula/pull/5098) -- 创建`NOT NULL`类型的属性时,必须指定默认值。 [#5105](https://github.com/vesoft-inc/nebula/pull/5105) -- 在配置文件中添加多线程查询参数`query_concurrently`,默认值为`true`。 [#5119](https://github.com/vesoft-inc/nebula/pull/5119) -- 从配置文件中改移除 KV 分离存储功能参数`kv_separation`,默认关闭该功能。 [#5119](https://github.com/vesoft-inc/nebula/pull/5119) -- 修改配置文件中`local_config`的默认值为`true`。 [#5119](https://github.com/vesoft-inc/nebula/pull/5119) -- 统一使用`v.tag.property`的方式获取属性值,需要指明 Tag。使用`v.property`的方式访问`v`点上某个 Tag 的属性在之前的版本中被错误地允许。 [#5230](https://github.com/vesoft-inc/nebula/pull/5230) -- 删除命令`SHOW HOSTS`中的`HTTP port`列。 [#5056](https://github.com/vesoft-inc/nebula/pull/5056) -- 禁用`OPTIONAL MATCH WHERE `形式的查询。 [#5273](https://github.com/vesoft-inc/nebula/pull/5273) -- 禁用 TOSS。 [#5119](https://github.com/vesoft-inc/nebula/pull/5119) -- 重命名 Listener 的 pid 文件名和 log 目录名。 [#5119](https://github.com/vesoft-inc/nebula/pull/5119) +- 修复一些列表函数的崩溃问题。 [#5383](https://github.com/vesoft-inc/nebula/pull/5383) ## 历史版本 -[历史版本](https://nebula-graph.com.cn/tags/release-note/) +[历史版本](https://www.nebula-graph.com.cn/tags/%E5%8F%91%E7%89%88%E8%AF%B4%E6%98%8E) diff --git a/docs-2.0/20.appendix/release-notes/nebula-ent-release-note.md b/docs-2.0/20.appendix/release-notes/nebula-ent-release-note.md index 84a32fb3cc5..56a0f5eaed7 100644 --- a/docs-2.0/20.appendix/release-notes/nebula-ent-release-note.md +++ b/docs-2.0/20.appendix/release-notes/nebula-ent-release-note.md @@ -1,90 +1,11 @@ # NebulaGraph 企业版 {{ nebula.release }} release notes -## 功能 - -- 支持[增量备份](../../backup-and-restore/nebula-br-ent/1.br-ent-overview.md)。 -- 支持 Tag/Edge type 级别的[细粒度权限管理](../../7.data-security/1.authentication/3.role-list.md)。 -- 支持[终止会话](../../3.ngql-guide/17.query-tuning-statements/2.kill-session.md)。 -- 支持 [Memory Tracker](../../5.configurations-and-logs/1.configurations/4.storage-config.md),优化内存管理。 -- 支持[黑匣子监控工具](../../6.monitor-and-metrics/3.bbox/3.1.bbox.md)。 -- 支持 [json_extract](../../3.ngql-guide/6.functions-and-expressions/2.string.md) 函数。 -- 支持 [extract](../../3.ngql-guide/6.functions-and-expressions/2.string.md) 函数。 - -## 优化 - -- 支持`GET SUBGRAPH`时过滤点。 -- 支持`GetNeighbors`过滤点。 -- 支持时间戳和日期时间相互转换。 -- 支持模式表达式引用局部定义变量。 -- 优化作业管理。 -- 优化全文索引。 -- 优化模式表达式作为谓词时的处理方案。 -- 优化 GO 语句的 JOIN 性能。 -- 优化 k-hop 查询性能。 -- 优化查询最短路径的性能。 -- 优化点属性过滤的下推。 -- 优化边过滤的下推。 -- 优化查询子图的循环条件。 -- 优化属性裁剪的规则。 -- 移除无效的 Project 操作符。 -- 移除无效的 AppendVertices 操作符。 -- 减少连接操作的数据复制量。 -- 减少 Traverse 和 AppendVertices 操作符的数据复制量。 -- 修改 Graph 服务配置参数`session_reclaim_interval_secs`的默认值更改为 60 秒。 -- 调整配置文件中`stderrthreshold`的默认级别。 -- 通过下标获取属性值,减少属性查询的时间。 -- 限制优化器中计划树的最大深度以避免堆栈溢出。 - ## 缺陷修复 -- 修复查询计划生成与优化时的问题。 - -- 修复索引相关的缺陷: - - - 全文索引 - - 字符串索引 - -- 修复查询语句的缺陷: - - - 变量 - - 过滤条件和表达式 - - 点或边的属性 - - 参数 - - 函数与聚合 - - 使用非法的数据类型 - - 时区、日期、时间等 - - 子句与算子 - -- 修复 DDL 和 DML 语句相关的缺陷: - - - ALTER TAG - - UPDATE - -- 修复其它功能的缺陷: - - - TTL - - 数据同步 - - 身份验证 - - 服务 - - 日志 - - 监控和统计 - -## 变更 +- 修复参数表达式 encode 到存储层执行导致崩溃的问题。 -- 如果您打算从 3.1 升级到 3.4 版本,请按照[升级文档](../../4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-ent-from-3.x-3.4.md)的指导进行操作。 -- 新增的属性名不能与已存在或被删除的属性名同名,否则新增属性会失败。 -- 限制修改 Schema 时的类型转换。 -- 创建`NOT NULL`类型的属性时,必须指定默认值。 -- 在配置文件中添加多线程查询参数`query_concurrently`,默认值为`true`。 -- 从配置文件中改移除 KV 分离存储功能参数`kv_separation`,默认关闭该功能。 -- 修改配置文件中`local_config`的默认值为`true`。 -- 统一使用`v.tag.property`的方式获取属性值,需要指明 Tag。使用`v.property`的方式访问`v`点上某个 Tag 的属性在之前的版本中被错误地允许。 -- 删除命令`SHOW HOSTS`中的`HTTP port`列。 -- 禁用`OPTIONAL MATCH WHERE `形式的查询。 -- 禁用`COUNT(DISTINCT *)`形式的函数。 -- 禁用 TOSS。 -- 重命名 Listener 的 pid 文件名和 log 目录名。 +- 修复一些列表函数的崩溃问题。 ## 历史版本 -[历史版本](https://nebula-graph.com.cn/tags/release-note/) +[历史版本](https://www.nebula-graph.com.cn/tags/%E5%8F%91%E7%89%88%E8%AF%B4%E6%98%8E) diff --git a/docs-2.0/3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md b/docs-2.0/3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md index 64052895b1c..652284b6f6f 100644 --- a/docs-2.0/3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md +++ b/docs-2.0/3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md @@ -4,7 +4,7 @@ 如果必须使用关键字: -- 非保留关键字作为标识符时可以不使用引号。 +- 当非保留关键字均为小写字母时,如果将其作为标识符时可以不使用引号;当非保留关键字包含大写字母时并将其作为标识符时,需要用反引号(\`)包围,例如 \`Comment\`。 - 保留关键字或特殊字符作为标识符时,需要用反引号(\`)包围,例如 \`AND\`。 diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md index 60350185114..ed95702abfe 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md @@ -31,7 +31,7 @@ CREATE TAG [IF NOT EXISTS] |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的 Tag 是否存在,只有不存在时,才会创建 Tag。仅检测 Tag 的名称,不会检测具体属性。| -|``|1、每个图空间内的 Tag 必须是唯一的。
2、Tag 名称设置后无法修改。
3、Tag 名称以英文字母开头,支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是不包括除下划线外的特殊字符。使用特殊字符或保留关键字时,需要用反引号(\`)包围且不能使用英文句号(`.`),详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| +|``|1、每个图空间内的 Tag 必须是唯一的。
2、Tag 名称设置后无法修改。
3、支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文、日文、韩文等,但是不包括除下划线外的特殊字符。使用特殊字符或保留关键字时,需要用反引号(\`)包围且不能使用英文句号(`.`),详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| |``|属性名称。每个 Tag 中的属性名称必须唯一。属性的命名规则与 Tag 相同。| |``|属性的数据类型,目前支持[数值](../3.data-types/1.numeric.md)、[布尔](../3.data-types/2.boolean.md)、[字符串](../3.data-types/3.string.md)以及[日期与时间](../3.data-types/4.date-and-time.md)。| |`NULL \| NOT NULL`|指定属性值是否支持为`NULL`。默认值为`NULL`。当指定属性值为`NOT NULL`时,必需指定属性的默认值,也就是`DEFAULT`的值。| diff --git a/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md b/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md index 2ca669b00e8..e05720dc24e 100644 --- a/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md +++ b/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md @@ -21,9 +21,9 @@ INSERT EDGE [IF NOT EXISTS] ( ) VALUES - `IF NOT EXISTS`:用户可以使用`IF NOT EXISTS`关键字检测待插入的边是否存在,只有不存在时,才会插入。 !!! Note - - `IF NOT EXISTS` 仅检测<边的类型、起始点、目的点和 rank>是否存在,不会检测属性值是否重合。 + - `IF NOT EXISTS` 仅检测<边的类型、起始点、目的点和 rank>是否存在,不会检测属性值是否重合。 - - `IF NOT EXISTS` 会先读取一次数据是否存在,因此对性能会有明显影响。 + - `IF NOT EXISTS` 会先读取一次数据是否存在,因此对性能会有明显影响。 - ``:边关联的 Edge type,只能指定一个 Edge type。Edge type 必须提前创建,详情请参见 [CREATE EDGE](../11.edge-type-statements/1.create-edge.md)。 diff --git a/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md b/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md index b919a2e6398..e3648de9de0 100644 --- a/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md +++ b/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md @@ -6,8 +6,8 @@ !!! caution - 并发`UPSERT`同一个 TAG 或 EDGE TYPE 会报错。 - + 并发`UPSERT`同一个 TAG 或 EDGE TYPE 会报错。 + ## 语法 ```ngql diff --git a/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md b/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md index 8e23fdee43e..947c79f00cc 100644 --- a/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md +++ b/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md @@ -16,7 +16,7 @@ - “属性索引”应用于基于属性的查询,例如基于属性`age`找到`age == 19`的所有的点。 -如果已经为 Tag `T`的属性`A`建立过属性索引`i_TA`,索引之间的可替代关系如下(Edge type 索引同理): +如果已经为 Tag `T`的属性`A`建立过属性索引`i_TA`(`T`的索引为`i_T`),索引之间的可替代关系如下(Edge type 索引同理): - 查询引擎可以使用`i_TA`来替代`i_T`。 diff --git a/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md b/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md index 499f8cce750..68fe7459074 100644 --- a/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md +++ b/docs-2.0/3.ngql-guide/16.subgraph-and-path/1.get-subgraph.md @@ -114,12 +114,12 @@ nebula> INSERT EDGE serve(start_year, end_year) VALUES "player101" -> "team204": nebula> GET SUBGRAPH WITH PROP 2 STEPS FROM "player101" \ WHERE follow.degree > 90 AND $$.player.age > 30 \ YIELD VERTICES AS nodes, EDGES AS relationships; - +-------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | nodes | relationships | - +-------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | [("player101" :player{age: 36, name: "Tony Parker"})] | [[:follow "player101"->"player100" @0 {degree: 95}], [:follow "player101"->"player125" @0 {degree: 95}], [:follow "player100"->"player101" @0 {degree: 95}]] | - | [("player125" :player{age: 41, name: "Manu Ginobili"}), ("player100" :player{age: 42, name: "Tim Duncan"})] | [[:follow "player100"->"player125" @0 {degree: 95}]] | - +-------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-------------------------------------------------------+------------------------------------------------------+ + | nodes | relationships | + +-------------------------------------------------------+------------------------------------------------------+ + | [("player101" :player{age: 36, name: "Tony Parker"})] | [[:follow "player101"->"player100" @0 {degree: 95}]] | + | [("player100" :player{age: 42, name: "Tim Duncan"})] | [] | + +-------------------------------------------------------+------------------------------------------------------+ ``` ## FAQ diff --git a/docs-2.0/3.ngql-guide/4.variable-and-composite-queries/2.user-defined-variables.md b/docs-2.0/3.ngql-guide/4.variable-and-composite-queries/2.user-defined-variables.md index b41cce31060..c56b4ec360b 100644 --- a/docs-2.0/3.ngql-guide/4.variable-and-composite-queries/2.user-defined-variables.md +++ b/docs-2.0/3.ngql-guide/4.variable-and-composite-queries/2.user-defined-variables.md @@ -31,7 +31,8 @@ nGQL 扩展的自定义变量可以表示为`$var_name`,`var_name`由字母、 !!! Note - 自定义变量区分大小写。 + - 自定义变量区分大小写。 + - 在包含扩展的自定义变量的复合语句中,用英文分号`;`结束定义变量的语句。详情参见 [nGQL 风格指南](../../3.ngql-guide/1.nGQL-overview/ngql-style-guide.md)。 ## 示例 diff --git a/docs-2.0/3.ngql-guide/5.operators/4.pipe.md b/docs-2.0/3.ngql-guide/5.operators/4.pipe.md index 5071514fb7d..a7f36628911 100644 --- a/docs-2.0/3.ngql-guide/5.operators/4.pipe.md +++ b/docs-2.0/3.ngql-guide/5.operators/4.pipe.md @@ -31,8 +31,6 @@ nebula> GO FROM "player100" OVER follow \ +-------------+ ``` -用户可以使用`YIELD`显式声明需要返回的结果,如果不使用`YIELD`,默认返回目标点 ID。 - 必须在`YIELD`子句中为需要的返回结果设置别名,才能在管道符右侧使用引用符`$-`,例如示例中的`$-.dstid`。 ## 性能提示 diff --git a/docs-2.0/3.ngql-guide/6.functions-and-expressions/4.schema.md b/docs-2.0/3.ngql-guide/6.functions-and-expressions/4.schema.md index e1b61165a57..831bf971b6a 100644 --- a/docs-2.0/3.ngql-guide/6.functions-and-expressions/4.schema.md +++ b/docs-2.0/3.ngql-guide/6.functions-and-expressions/4.schema.md @@ -56,6 +56,18 @@ nebula> LOOKUP ON player WHERE player.age > 45 \ +-------------------------------------+ ``` +用户也可以使用属性引用符(`$^`和`$$`)替代函数`properties()`中的`vertex`参数来获取点的所有属性。 + +- `$^`表示探索开始时的点数据。例如`GO FROM "player100" OVER follow reversely YIELD properties($^)`中,`$^`指`player100`这个点。 + +- `$$`表示探索结束的终点数据。 + +`properties($^)`和`properties($$)`一般用于`GO`语句中。更多信息,请参见[属性引用符](../5.operators/5.property-reference.md)。 + +!!! caution + + 用户可以通过`properties().`来获取点的指定属性。但是不建议使用这种方式获取指定属性,因为`properties()`函数返回所有属性,这样会降低查询性能。 + ### properties(edge) properties(edge) 返回边的所有属性。 @@ -77,6 +89,10 @@ nebula> GO FROM "player100" OVER follow \ +------------------+ ``` +!!! warning + + 用户可以通过`properties(edge).`来获取边的指定属性。但是不建议使用这种方式获取指定属性,因为`properties(edge)`函数返回边的所有属性,这样会降低查询性能。 + ### type(edge) type(edge) 返回边的 Edge type。 diff --git a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md index 5711f438ec3..5ec9dfd6a80 100644 --- a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md +++ b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster.md @@ -303,13 +303,13 @@ Welcome to NebulaGraph! > ADD HOSTS 192.168.10.111:9779, 192.168.10.112:9779, 192.168.10.113:9779, 192.168.10.114:9779, 192.168.10.115:9779; > SHOW HOSTS; -+------------------+------+----------+--------------+----------------------+------------------------+---------+ -| Host | Port | Status | Leader count | Leader distribution | Partition distribution | Version | -+------------------+------+-----------+----------+--------------+----------------------+------------------------+---------+ ++------------------+------+----------+--------------+----------------------+------------------------+----------------------+ +| Host | Port | Status | Leader count | Leader distribution | Partition distribution | Version | ++------------------+------+----------+--------------+----------------------+------------------------+----------------------+ | "192.168.10.111" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}" | | "192.168.10.112" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}" | | "192.168.10.113" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}" | | "192.168.10.114" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}" | | "192.168.10.115" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}" | -+------------------+------+----------+--------------+----------------------+------------------------+---------+ ++------------------+------+----------+--------------+----------------------+------------------------+----------------------+ ``` diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-ent-from-3.x-3.4.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-ent-from-3.x-3.4.md index 2ee0cc0b142..3fdbd0f63d3 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-ent-from-3.x-3.4.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-ent-from-3.x-3.4.md @@ -4,12 +4,17 @@ ## 升级说明 -- 此升级操作仅适用于升级企业版 NebulaGraph 3.x 至 3.4.0。 如果您的企业版 NebulaGraph 版本低于 3.0.0,请先升级到企业版 3.x 再升级到 3.4.0。具体操作请参见[升级 NebulaGraph 2.x 至 3.1.0](https://docs.nebula-graph.com.cn/3.1.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest/)。 +- 此升级操作仅适用于升级企业版 NebulaGraph 3.x 至 3.4.0。 如果您的企业版 NebulaGraph 版本低于 3.0.0,请先升级到企业版 3.1.0 再升级到 3.4.0。具体操作请参见[升级 NebulaGraph 2.x 至 3.1.0](https://docs.nebula-graph.com.cn/3.1.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest/)。 - 执行升级操作的集群 IP 地址必须与原集群相同。 - 机器硬盘剩余空间至少需为原数据目录的 1.5 倍。 +- 在升级部署了全文索引的 NebulaGraph 前,需要手动删除 Elasticsearch (ES) 中的全文索引。在升级后需要重新使用`SIGN IN`语句登录 ES 并重新创建全文索引。 + + !!! note + + 用户可通过 cURL 命令手动删除 ES 中全文索引。命令为`curl -XDELETE -u : ':/'`,例如`curl -XDELETE -u elastic:elastic 'http://192.168.8.223:9200/nebula_index_2534'`。如果 ES 没有设置用户名及密码,则无需指定`-u`选项。 ## 升级步骤 diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md index 88734559bfb..eb25c8be89c 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md @@ -2,9 +2,15 @@ NebulaGraph v3.x 升级至 v{{nebula.release}},只需要使用 v{{nebula.release}}的 RPM/DEB 包进行升级操作即可,或者[编译 v{{nebula.release}}](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) 之后重新安装。 + +!!! caution + + 在升级部署了全文索引的 NebulaGraph 前,需要手动删除 Elasticsearch (ES) 中的全文索引。在升级后需要重新使用`SIGN IN`语句登录 ES 并重新创建全文索引。用户可通过 cURL 命令手动删除 ES 中全文索引。命令为`curl -XDELETE -u : ':/'`,例如`curl -XDELETE -u elastic:elastic 'http://192.168.8.223:9200/nebula_index_2534'`。如果 ES 没有设置用户名及密码,则无需指定`-u`选项。 + + ## RPM/DEB 包升级步骤 -1. 下载 [RPM/DEB 包](https://github.com/vesoft-inc/nebula-graph/releases/tag/v{{nebula.release}})。 +1. 下载 [RPM/DEB 包](https://www.nebula-graph.com.cn/download)。 2. 停止所有 NebulaGraph 服务。详情请参见[管理 NebulaGraph 服务](../../2.quick-start/3.quick-start-on-premise/5.start-stop-service.md)。建议更新前备份配置文件。 diff --git a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest.md b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest.md index 3a04eb3390f..adb323a274d 100644 --- a/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest.md +++ b/docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest.md @@ -4,13 +4,12 @@ ## 适用版本 -本文适用于将 NebulaGraph 从 2.0.0 及之后的 2.x 版本升级到 {{nebula.release}} 版本。不适用于 2.0.0 之前的历史版本(含 1.x 版本)。如需升级历史版本,将其根据最新的 2.x 版本文档升级到最新的 2.x 版本,然后根据本文的说明升级到 3.x 版本。 +本文适用于将 NebulaGraph 从 2.5.0 及之后的 2.x 版本升级到 {{nebula.release}} 版本。不适用于 2.5.0 之前的历史版本(含 1.x 版本)。如需升级历史版本,将其根据最新的 2.x 版本文档升级到 2.5 版本,然后根据本文的说明升级到 {{nebula.release}} 版本。 !!! caution 如需从 2.0.0 之前的版本(含 1.x 版本)升级到 {{nebula.release}},还需找到 {{nebula.release}} 版本文件中`share/resources`目录下的`date_time_zonespec.csv`文件,将其复制到 NebulaGraph 安装路径下的相同目录内。也可从 [GitHub](https://github.com/vesoft-inc/nebula/blob/master/resources/date_time_zonespec.csv) 下载该文件。 -## 升级限制 - 不支持轮转热升级,需完全停止整个集群服务。 @@ -54,6 +53,10 @@ - MATCH 语句中获取点属性时,必须指定 Tag,例如从`return v.name`变为`return v.player.name`。 +- 全文索引 + + 在升级部署了全文索引的 NebulaGraph 前,需要手动删除 Elasticsearch (ES) 中的全文索引。在升级后需要重新使用`SIGN IN`语句登录 ES 并重新创建全文索引。用户可通过 cURL 命令手动删除 ES 中全文索引。命令为`curl -XDELETE -u : ':/'`,例如`curl -XDELETE -u elastic:elastic 'http://192.168.8.223:9200/nebula_index_2534'`。如果 ES 没有设置用户名及密码,则无需指定`-u`选项。 + !!! caution 可能存在其它暂未发现的影响,建议升级前详细查看版本发布说明和产品手册,并密切关注[论坛](https://discuss.nebula-graph.com.cn/)与 [GitHub](https://github.com/vesoft-inc/nebula/issues) 的最新动态。 diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md b/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md index b124db55c06..08ace1f7558 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/1.configurations.md @@ -77,6 +77,7 @@ NebulaGraph 为每个服务都提供了两份初始配置文件`.c 初始配置文件中的配置值仅供参考,使用时可根据实际需求调整。如需使用初始配置文件,从上述两个文件选择其一,删除后缀`.default`或`.production`使其生效。 !!! caution + 为确保服务的可用性,同类服务的配置需保持一致,本机 IP 地址`local_ip`除外。例如,一个 NebulaGraph 集群中部署了 3 个 Storage 服务器,3 者除 IP 地址外的其它配置需相同。 下表列出了各服务对应的初始配置文件。 @@ -90,6 +91,7 @@ NebulaGraph 为每个服务都提供了两份初始配置文件`.c 所有服务的初始配置文件中都包含`local_config`参数,预设值为`true`,表示 NebulaGraph 服务会从其配置文件获取配置并启动。 !!! caution + 不建议修改`local_config`的值为`false`。修改后 NebulaGraph 服务启动后会先尝试从 Meta 服务获取缓存的配置信息,可能导致集群配置不一致,造成未知风险。 ### Docker Compose 集群的配置文件 @@ -108,6 +110,14 @@ NebulaGraph 为每个服务都提供了两份初始配置文件`.c ## 修改配置 +用户可以在配置文件中修改 NebulaGraph 的配置,或使用命令动态修改配置。 + +!!! caution + + 同时使用两种方式修改配置会导致配置信息失去统一的管理方式,可能造成配置混乱。建议仅使用配置文件管理配置,或在通过命令动态更新配置后对配置文件做相同的修改,以保证一致性。 + +### 在配置文件中修改配置 + 默认情况下,所有 NebulaGraph 服务从配置文件获取配置。用户可以按照以下步骤修改配置并使其生效。 * 针对使用源码、RPM/DEB、TAR 包安装的集群: @@ -124,3 +134,18 @@ NebulaGraph 为每个服务都提供了两份初始配置文件`.c * 针对使用 Kubectl 方式创建的集群: 具体操作,参见[自定义集群的配置参数](../../nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md)。 + +### 使用命令动态修改配置 + +用户可以通过`curl`命令动态修改 NebulaGraph 服务的配置。例如,修改 Storage 服务的`wal_ttl`参数为`600`,命令如下: + +```bash +curl -X PUT -H "Content-Type: application/json" -d'{"wal_ttl":"600"}' -s "http://192.168.15.6:19779/flags" +``` + +其中,`{"wal_ttl":"600"}`为待修改的配置参数及其值;`192.168.15.6:19779`为 Storage 服务的 IP 地址和 HTTP 端口号。 + +!!! caution + + - 动态修改配置功能仅适用于原型验证和测试环境,不建议在生产环境中使用。因为当`local_config`值设置为`true`时,动态修改的配置不会持久化,重启服务后配置会恢复为初始配置。 + - 仅支持动态修改**部分**配置参数,具体支持的参数列表,参见各服务配置中**是否支持运行时动态修改**的描述。 diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md index cf51409dd1b..13f493f3d98 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/2.meta-config.md @@ -15,21 +15,25 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul 配置文件内没有设置某个参数表示参数使用的是默认值。文件内只预设了部分参数的值,而且两份初始配置文件内的参数值也略有不同,本文的预设值以`nebula-metad.conf.default`为准。 +!!! caution + + 配置文件中的部分参数值可以在运行时动态修改。本文将这些参数标记为支持运行时动态修改,并当`local_config`值设置为`true`时重启服务后配置会恢复为初始配置。详情参见[修改配置](1.configurations.md)。 + 如需查看所有的参数及其当前值,参见[配置管理](1.configurations.md)。 ## basics 配置 -| 名称 | 预设值 | 说明 | -| :----------- | :----------------------- | :------------------| -| `daemonize` | `true` | 是否启动守护进程。 | -| `pid_file` | `pids/nebula-metad.pid` | 记录进程 ID 的文件。 | -| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------- | :----------------------- | :------------------|:------------------| +| `daemonize` | `true` | 是否启动守护进程。 |不支持| +| `pid_file` | `pids/nebula-metad.pid` | 记录进程 ID 的文件。 |不支持| +| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 |不支持| {{ ent.ent_begin }} -| 名称 | 预设值 | 说明 | -| :----------- | :----------------------- | :------------------| -|`license_path`|`share/resources/nebula.license`|企业版 License 路径。企业版需要用户[设置 License](../../4.deployment-and-installation/deploy-license.md) 才可以正常启动并使用企业版功能。仅企业版 NebulaGraph 需要设置本参数,其他周边工具如何设置 License,请参见相应周边工具的部署文档。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------- | :----------------------- | :------------------|:------------------| +|`license_path`|`share/resources/nebula.license`|企业版 License 路径。企业版需要用户[设置 License](../../4.deployment-and-installation/deploy-license.md) 才可以正常启动并使用企业版功能。仅企业版 NebulaGraph 需要设置本参数,其他周边工具如何设置 License,请参见相应周边工具的部署文档。|不支持| {{ ent.ent_end }} @@ -40,29 +44,29 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul ## logging 配置 -| 名称 | 预设值 | 说明 | -| :------------- | :------------------------ | :------------------------------------------------ | -| `log_dir` | `logs` | 存放 Meta 服务日志的目录,建议和数据保存在不同硬盘。 | -| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 | -| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 | -| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 | -|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 | -|`stdout_log_file` |`metad-stdout.log` | 标准输出日志文件名称。 | -|`stderr_log_file` |`metad-stderr.log` | 标准错误日志文件名称。 | -|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 | -| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------- | :------------------------ | :------------------------------------------------ |:------------------| +| `log_dir` | `logs` | 存放 Meta 服务日志的目录,建议和数据保存在不同硬盘。 |不支持| +| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 |支持| +| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 |支持| +| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 |不支持| +|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 |不支持| +|`stdout_log_file` |`metad-stdout.log` | 标准输出日志文件名称。 |不支持| +|`stderr_log_file` |`metad-stderr.log` | 标准错误日志文件名称。 |不支持| +|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 |不支持| +| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 |不支持| ## networking 配置 -| 名称 | 预设值 | 说明 | -| :----------------------- | :---------------- | :---------------------------------------------------- | -| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 | -|`local_ip` | `127.0.0.1` | Meta 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-metad 进程,如果是分布式集群或需要远程访问,请修改为对应地址。| -| `port` | `9559` | Meta 服务的 RPC 守护进程监听端口。Meta 服务对外端口为`9559`,对内端口为`对外端口+1`,即`9560`,NebulaGraph 使用内部端口进行多副本间的交互。 | -| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 | -| `ws_http_port` | `19559` | HTTP 服务的端口。 | -|`ws_storage_http_port`|`19779`| HTTP 协议监听 Storage 服务的端口,需要和 Storage 服务配置文件中的`ws_http_port`保持一致。仅存算合并版 NebulaGraph 需要设置本参数。| -|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------------------- | :---------------- | :---------------------------- |:------------------| +| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 |不支持| +|`local_ip` | `127.0.0.1` | Meta 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-metad 进程,如果是分布式集群或需要远程访问,请修改为对应地址。|不支持| +| `port` | `9559` | Meta 服务的 RPC 守护进程监听端口。Meta 服务对外端口为`9559`,对内端口为`对外端口+1`,即`9560`,NebulaGraph 使用内部端口进行多副本间的交互。 |不支持| +| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 |不支持| +| `ws_http_port` | `19559` | HTTP 服务的端口。 |不支持| +|`ws_storage_http_port`|`19779`| HTTP 协议监听 Storage 服务的端口,需要和 Storage 服务配置文件中的`ws_http_port`保持一致。仅存算合并版 NebulaGraph 需要设置本参数。|不支持| +|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 |支持| !!! caution @@ -70,22 +74,22 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul ## storage 配置 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`data_path`|`data/meta`|meta 数据存储路径。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |:------------------| +|`data_path`|`data/meta`|meta 数据存储路径。|不支持| ## misc 配置 -| 名称 | 预设值 | 说明 | -| :------------------------- | :-------- | :------------------------ | -|`default_parts_num` | `100` | 创建图空间时的默认分片数量。 | -|`default_replica_factor` | `1` | 创建图空间时的默认副本数量。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------------- | :-------- | :------------------------ |:------------------| +|`default_parts_num` | `100` | 创建图空间时的默认分片数量。 |不支持| +|`default_replica_factor` | `1` | 创建图空间时的默认副本数量。 |不支持| ## rocksdb options 配置 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`rocksdb_wal_sync` |`true` |是否同步 RocksDB 的 WAL 日志。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |:------------------| +|`rocksdb_wal_sync` |`true` |是否同步 RocksDB 的 WAL 日志。|不支持| {{ ent.ent_begin }} @@ -95,11 +99,11 @@ Meta 服务提供了两份初始配置文件`nebula-metad.conf.default`和`nebul 仅企业版支持黑匣子功能配置。 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`ng_black_box_switch` |`true` |是否开启黑匣子功能。| -|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。| -|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。| -|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :--------------------------- |:------------------| +|`ng_black_box_switch` |`true` |是否开启黑匣子功能。|不支持| +|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。|不支持| +|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。|不支持| +|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒|支持| {{ ent.ent_end }} \ No newline at end of file diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md index 8a1836eb956..3fa2971c8ff 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md @@ -15,17 +15,20 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb 配置文件内没有设置某个参数表示参数使用的是默认值。文件内只预设了部分参数的值,而且两份初始配置文件内的参数值也略有不同,本文的预设值以`nebula-graphd.conf.default`为准。 +!!! caution + 配置文件中的部分参数值可以在运行时动态修改。本文将这些参数标记为支持运行时动态修改,并当`local_config`值设置为`true`时重启服务后配置会恢复为初始配置。详情参见[修改配置](1.configurations.md)。 + 如需查看所有的参数及其当前值,参见[配置管理](1.configurations.md)。 ## basics 配置 -| 名称 | 预设值 | 说明 | -| ----------------- | ----------------------- | ------------------| -| `daemonize` | `true` | 是否启动守护进程。 | -| `pid_file` | `pids/nebula-graphd.pid`| 记录进程 ID 的文件。 | -|`enable_optimizer` |`true` | 是否启用优化器。| -| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,使用需手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 | -| `local_config` | `true` | 是否从配置文件获取配置信息。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ----------------- | ----------------------- | ------------------|---------------------| +| `daemonize` | `true` | 是否启动守护进程。 |不支持| +| `pid_file` | `pids/nebula-graphd.pid`| 记录进程 ID 的文件。 |不支持| +|`enable_optimizer` |`true` | 是否启用优化器。|不支持| +| `timezone_name` | - | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,使用需手动添加。系统默认值为`UTC+00:00:00`。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 |不支持| +| `local_config` | `true` | 是否从配置文件获取配置信息。 |不支持| !!! Note @@ -34,49 +37,49 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## logging 配置 -| 名称 | 预设值 | 说明 | -| ------------- | ------------------------ | ------------------------------------------------ | -| `log_dir` | `logs` | 存放 Graph 服务日志的目录,建议和数据保存在不同硬盘。 | -| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 | -| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 | -| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 | -|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 | -|`stdout_log_file` |`graphd-stdout.log` | 标准输出日志文件名称。 | -|`stderr_log_file` |`graphd-stderr.log` | 标准错误日志文件名称。 | -|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 | -| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------- | ------------------------ | ------------------------------------------------ |---------------------| +| `log_dir` | `logs` | 存放 Graph 服务日志的目录,建议和数据保存在不同硬盘。 |不支持| +| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 |支持| +| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 |支持| +| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 |不支持| +|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 |不支持| +|`stdout_log_file` |`graphd-stdout.log` | 标准输出日志文件名称。 |不支持| +|`stderr_log_file` |`graphd-stderr.log` | 标准错误日志文件名称。 |不支持| +|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 |不支持| +| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 |不支持| ## query 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -|`accept_partial_success` |`false` |是否将部分成功视为错误。此配置仅适用于只读请求,写请求总是将部分成功视为错误。| -|`session_reclaim_interval_secs`|`60`| 将 Session 信息发送给 Meta 服务的间隔。单位:秒。| -|`max_allowed_query_size`|`4194304`|最大查询语句长度。单位:字节。默认为`4194304`,即 4MB。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +|`accept_partial_success` |`false` |是否将部分成功视为错误。此配置仅适用于只读请求,写请求总是将部分成功视为错误。|支持| +|`session_reclaim_interval_secs`|`60`| 将 Session 信息发送给 Meta 服务的间隔。单位:秒。|支持| +|`max_allowed_query_size`|`4194304`|最大查询语句长度。单位:字节。默认为`4194304`,即 4MB。|支持| ## networking 配置 -| 名称 | 预设值 | 说明 | -| ----------------------- | ---------------- | ---------------------------------------------------- | -| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 | -|`local_ip` | `127.0.0.1` | Graph 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-graphd 进程,如果是分布式集群或需要远程访问,请修改为对应地址。| -|`listen_netdev` |`any` |监听的网络设备。 | -| `port` | `9669` | Graph 服务的 RPC 守护进程监听端口。 | -|`reuse_port` |`false` | 是否启用 SO_REUSEPORT。 | -|`listen_backlog` |`1024` | socket 监听的连接队列最大长度,调整本参数需要同时调整`net.core.somaxconn`。 | -|`client_idle_timeout_secs` |`28800` | 空闲连接的超时时间。默认 8 小时。`0`表示永不超时。单位:秒。 | -|`session_idle_timeout_secs` |`28800` | 空闲会话的超时时间。取值范围为 1~604800。默认 8 小时。单位:秒。 | -|`num_accept_threads` |`1` | 接受传入连接的线程数。 | -|`num_netio_threads` |`0` | 网络 IO 线程数。`0`表示 CPU 核数。 | -|`num_worker_threads` |`0` | 执行用户查询的线程数。`0`表示 CPU 核数。 | -| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 | -| `ws_http_port` | `19669` | HTTP 服务的端口。 | -|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 | -|`storage_client_timeout_ms`|-| Graph 服务与 Storage 服务的 RPC 连接超时时间。初始配置文件中未设置该参数,使用需手动添加。默认值为`60000`毫秒。| -|`enable_record_slow_query`|`true`|是否启用慢查询记录。
仅企业版 NebulaGraph 支持设置该参数。| -|`slow_query_limit`|`100`|慢查询记录的最大条数。
仅企业版 NebulaGraph 支持设置该参数。| -|`slow_query_threshold_us`|`200000`|定义超过多长时间的查询为慢查询。单位:微秒。| -|`ws_meta_http_port`|`19559`|HTTP 协议监听 Meta 服务的端口,需要和 Meta 服务配置文件中的`ws_http_port`保持一致。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ----------------------- | ---------------- | ---------------------------------------------------- |---------------------| +| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 |不支持| +|`local_ip` | `127.0.0.1` | Graph 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-graphd 进程,如果是分布式集群或需要远程访问,请修改为对应地址。|不支持| +|`listen_netdev` |`any` |监听的网络设备。 |不支持| +| `port` | `9669` | Graph 服务的 RPC 守护进程监听端口。 |不支持| +|`reuse_port` |`false` | 是否启用 SO_REUSEPORT。 |不支持| +|`listen_backlog` |`1024` | socket 监听的连接队列最大长度,调整本参数需要同时调整`net.core.somaxconn`。 |不支持| +|`client_idle_timeout_secs` |`28800` | 空闲连接的超时时间。默认 8 小时。`0`表示永不超时。单位:秒。 |不支持| +|`session_idle_timeout_secs` |`28800` | 空闲会话的超时时间。取值范围为 1~604800。默认 8 小时。单位:秒。 |不支持| +|`num_accept_threads` |`1` | 接受传入连接的线程数。 |不支持| +|`num_netio_threads` |`0` | 网络 IO 线程数。`0`表示 CPU 核数。 |不支持| +|`num_worker_threads` |`0` | 执行用户查询的线程数。`0`表示 CPU 核数。 |不支持| +| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 |不支持| +| `ws_http_port` | `19669` | HTTP 服务的端口。 |不支持| +|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 |支持| +|`storage_client_timeout_ms`|-| Graph 服务与 Storage 服务的 RPC 连接超时时间。初始配置文件中未设置该参数,使用需手动添加。默认值为`60000`毫秒。|不支持| +|`enable_record_slow_query`|`true`|是否启用慢查询记录。
仅企业版 NebulaGraph 支持设置该参数。|不支持| +|`slow_query_limit`|`100`|慢查询记录的最大条数。
仅企业版 NebulaGraph 支持设置该参数。|不支持| +|`slow_query_threshold_us`|`200000`|定义超过多长时间的查询为慢查询。单位:微秒。|不支持| +|`ws_meta_http_port`|`19559`|HTTP 协议监听 Meta 服务的端口,需要和 Meta 服务配置文件中的`ws_http_port`保持一致。|不支持| !!! caution @@ -84,23 +87,23 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## charset and collate 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ---------------- | ------------------------------------------ | -| `default_charset` | `utf8` | 创建图空间时的默认字符集。 | -| `default_collate` | `utf8_bin` | 创建图空间时的默认排序规则。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ---------------- | ------------------------------------------ |---------------------| +| `default_charset` | `utf8` | 创建图空间时的默认字符集。 |不支持| +| `default_collate` | `utf8_bin` | 创建图空间时的默认排序规则。 |不支持| ## authorization 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ---------------- | ------------------------------------------ | -|`enable_authorize` |`false` |用户登录时是否进行身份验证。身份验证详情请参见[身份验证](../../7.data-security/1.authentication/1.authentication.md)。| -|`auth_type` |`password` |用户登录的身份验证方式。取值为`password`、`ldap`、`cloud`。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ---------------- | ------------------------------------------ |---------------------| +|`enable_authorize` |`false` |用户登录时是否进行身份验证。身份验证详情请参见[身份验证](../../7.data-security/1.authentication/1.authentication.md)。|不支持| +|`auth_type` |`password` |用户登录的身份验证方式。取值为`password`、`ldap`、`cloud`。|不支持| ## memory 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -| `system_memory_high_watermark_ratio` | `0.8` |内存高水位报警机制的触发阈值。系统内存占用率高于该值会触发报警机制,NebulaGraph 会停止接受查询。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +| `system_memory_high_watermark_ratio` | `0.8` |内存高水位报警机制的触发阈值。系统内存占用率高于该值会触发报警机制,NebulaGraph 会停止接受查询。|支持| {{ ent.ent_begin }} ## audit 配置 @@ -115,22 +118,22 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## metrics 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -| `enable_space_level_metrics` | `false` | 开启后可打开图空间级别的监控,对应的监控指标名称中包含图空间的名称,例如`query_latency_us{space=basketballplayer}.avg.3600`。支持的监控指标可用`curl`命令查看,详细说明参见[查询监控指标](../../6.monitor-and-metrics/1.query-performance-metrics.md)。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +| `enable_space_level_metrics` | `false` | 开启后可打开图空间级别的监控,对应的监控指标名称中包含图空间的名称,例如`query_latency_us{space=basketballplayer}.avg.3600`。支持的监控指标可用`curl`命令查看,详细说明参见[查询监控指标](../../6.monitor-and-metrics/1.query-performance-metrics.md)。 |不支持| ## session 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -|`max_sessions_per_ip_per_user`|`300` | 相同用户和 IP 地址可以创建的最大活跃会话数。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +|`max_sessions_per_ip_per_user`|`300` | 相同用户和 IP 地址可以创建的最大活跃会话数。|不支持| ## experimental 配置 -| 名称 | 预设值 | 说明 | -| ------------------- | ------------------------ | ------------------------------------------ | -|`enable_experimental_feature`|`false`|实验性功能开关。可选值为`true`和`false`。| -|`enable_data_balance`|`true`|是否开启[均衡分片](../../8.service-tuning/load-balance.md)功能。仅当`enable_experimental_feature`为`true`时生效。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| ------------------- | ------------------------ | ------------------------------------------ |---------------------| +|`enable_experimental_feature`|`false`|实验性功能开关。可选值为`true`和`false`。|不支持| +|`enable_data_balance`|`true`|是否开启[均衡分片](../../8.service-tuning/load-balance.md)功能。仅当`enable_experimental_feature`为`true`时生效。 |不支持| {{ ent.ent_begin }} @@ -141,12 +144,12 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb 仅企业版支持黑匣子功能配置。 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`ng_black_box_switch` |`true` |是否开启黑匣子功能。| -|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。| -|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。| -|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |---------------------| +|`ng_black_box_switch` |`true` |是否开启黑匣子功能。|不支持| +|`ng_black_box_home` |`black_box` |存储黑匣子数据的目录名称。|不支持| +|`ng_black_box_dump_period_seconds` |`5` |黑匣子采集指标的时间间隔。单位:秒。|不支持| +|`ng_black_box_file_lifetime_seconds` |`1800` |采集指标后生成文件的保存时间。单位:秒|支持| {{ ent.ent_end }} @@ -154,12 +157,12 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb ## memory tracker 配置 -| 名称 | 预设值 | 说明 | -| :------------------- | :------------------------ | :------------------------------------------ | -|`memory_tracker_limit_ratio` |`0.8` |可用内存的百分比,当可用内存低于该值时,NebulaGraph 会停止接受查询。
计算公式:可用内存/(总内存 - 保留内存)。
**注意**:对于混合部署的集群,需要根据实际情况**调小**该参数。例如,当预期 Graphd 只占用 50% 的内存时,该参数的值可设置为小于`0.5`。| -|`memory_tracker_untracked_reserved_memory_mb` |`50`|保留内存的大小,单位:MB。| -|`memory_tracker_detail_log` |`false` | 是否定期生成较详细的内存跟踪日志。当值为`true`时,会定期生成内存跟踪日志。| -|`memory_tracker_detail_log_interval_ms` |`60000`|内存跟踪日志的生成时间间隔,单位:毫秒。仅当`memory_tracker_detail_log`为`true`时,该参数生效。| -|`memory_purge_enabled` |`true` |是否定期开启内存清理功能。当值为`true`时,会定期清理内存。| -|`memory_purge_interval_seconds` |`10` |内存清理的时间间隔,单位:秒。`memory_purge_enabled`为`true`时,该参数生效。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------------- | :------------------------ | :------------------------------------------ |---------------------| +|`memory_tracker_limit_ratio` |`0.8` |可用内存的百分比,当可用内存低于该值时,NebulaGraph 会停止接受查询。
计算公式:可用内存/(总内存 - 保留内存)。
**注意**:对于混合部署的集群,需要根据实际情况**调小**该参数。例如,当预期 Graphd 只占用 50% 的内存时,该参数的值可设置为小于`0.5`。|支持| +|`memory_tracker_untracked_reserved_memory_mb` |`50`|保留内存的大小,单位:MB。|支持| +|`memory_tracker_detail_log` |`false` | 是否定期生成较详细的内存跟踪日志。当值为`true`时,会定期生成内存跟踪日志。|支持| +|`memory_tracker_detail_log_interval_ms` |`60000`|内存跟踪日志的生成时间间隔,单位:毫秒。仅当`memory_tracker_detail_log`为`true`时,该参数生效。|支持| +|`memory_purge_enabled` |`true` |是否定期开启内存清理功能。当值为`true`时,会定期清理内存。|支持| +|`memory_purge_interval_seconds` |`10` |内存清理的时间间隔,单位:秒。`memory_purge_enabled`为`true`时,该参数生效。|支持| diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md index a7edddac966..3351b936114 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/4.storage-config.md @@ -15,6 +15,10 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 配置文件内没有设置某个参数表示参数使用的是默认值。文件内只预设了部分参数的值,而且两份初始配置文件内的参数值也略有不同,本文的预设值以`nebula-storaged.conf.default`文件为准,其中没有的参数则以`nebula-storaged.conf.production`文件为准。 +!!! caution + + 配置文件中的部分参数值可以在运行时动态修改。本文将这些参数标记为支持运行时动态修改,并当`local_config`值设置为`true`时重启服务后配置会恢复为初始配置。详情参见[修改配置](1.configurations.md)。 + !!! Note Raft Listener 的配置和 Storage 服务配置不同,详情请参见[部署 Raft listener](../../4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md)。 @@ -23,12 +27,12 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 ## basics 配置 -| 名称 | 预设值 | 说明 | -| :----------- | :----------------------- | :------------------| -| `daemonize` | `true` | 是否启动守护进程。 | -| `pid_file` | `pids/nebula-storaged.pid` | 记录进程 ID 的文件。 | -| `timezone_name` | `UTC+00:00:00` | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 | -| `local_config` | `true` | 是否从配置文件获取配置信息。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------- | :----------------------- | :------------------|:----------------------- | +| `daemonize` | `true` | 是否启动守护进程。 |不支持| +| `pid_file` | `pids/nebula-storaged.pid` | 记录进程 ID 的文件。 |不支持| +| `timezone_name` | `UTC+00:00:00` | 指定 NebulaGraph 的时区。初始配置文件中未设置该参数,如需使用请手动添加。格式请参见 [Specifying the Time Zone with TZ](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html "Click to view the timezone-related content in the GNU C Library manual")。例如,东八区的设置方式为`--timezone_name=UTC+08:00`。 |不支持| +| `local_config` | `true` | 是否从配置文件获取配置信息。 |不支持| !!! Note @@ -37,28 +41,28 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 ## logging 配置 -| 名称 | 预设值 | 说明 | -| :------------- | :------------------------ | :------------------------------------------------ | -| `log_dir` | `logs` | 存放 Storage 服务日志的目录,建议和数据保存在不同硬盘。 | -| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值:`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 | -| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 | -| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 | -|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 | -|`stdout_log_file` |`storaged-stdout.log` | 标准输出日志文件名称。 | -|`stderr_log_file` |`storaged-stderr.log` | 标准错误日志文件名称。 | -|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 | -| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :------------- | :------------------------ | :---------------------------------- |:----------------------- | +| `log_dir` | `logs` | 存放 Storage 服务日志的目录,建议和数据保存在不同硬盘。 |不支持| +| `minloglevel` | `0` | 最小日志级别,即记录此级别或更高级别的日志。可选值:`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,NebulaGraph 不会记录任何日志。 |支持| +| `v` | `0` | VLOG 日志详细级别,即记录小于或等于此级别的所有 VLOG 消息。可选值为`0`、`1`、`2`、`3`、`4`、`5`。glog 提供的 VLOG 宏允许用户定义自己的数字日志记录级别,并用参数`v`控制记录哪些详细消息。详情参见 [Verbose Logging](https://github.com/google/glog#verbose-logging)。 |支持| +| `logbufsecs` | `0` | 缓冲日志的最大时间,超时后输出到日志文件。`0`表示实时输出。单位:秒。 |不支持| +|`redirect_stdout`|`true` |是否将标准输出和标准错误重定向到单独的输出文件。 |不支持| +|`stdout_log_file` |`storaged-stdout.log` | 标准输出日志文件名称。 |不支持| +|`stderr_log_file` |`storaged-stderr.log` | 标准错误日志文件名称。 |不支持| +|`stderrthreshold` | `3` | 要复制到标准错误中的最小日志级别(`minloglevel`)。 |不支持| +| `timestamp_in_logfile_name` | `true` | 日志文件名称中是否包含时间戳。`true`表示包含,`false`表示不包含。 |不支持| ## networking 配置 -| 名称 | 预设值 | 说明 | -| :----------------------- | :---------------- | :---------------------------------------------------- | -| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 | -|`local_ip` | `127.0.0.1` | Storage 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-storaged 进程,如果是分布式集群或需要远程访问,请修改为对应地址。| -| `port` | `9779` | Storage 服务的 RPC 守护进程监听端口。Storage 服务对外端口为`9779`,对内端口为`9777`、`9778`和`9780`,NebulaGraph 使用内部端口进行多副本间的交互。 | -| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 | -| `ws_http_port` | `19779` | HTTP 服务的端口。 | -|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :----------------------- | :---------------- | :------------------------|:----------------------- | +| `meta_server_addrs` | `127.0.0.1:9559` | 全部 Meta 服务的 IP 地址和端口。多个 Meta 服务用英文逗号(,)分隔。 |不支持| +|`local_ip` | `127.0.0.1` | Storage 服务的本地 IP 地址。本地 IP 地址用于识别 nebula-storaged 进程,如果是分布式集群或需要远程访问,请修改为对应地址。|不支持| +| `port` | `9779` | Storage 服务的 RPC 守护进程监听端口。Storage 服务对外端口为`9779`,对内端口为`9777`、`9778`和`9780`,NebulaGraph 使用内部端口进行多副本间的交互。
`9777`:drainer 服务占用端口,仅在企业版集群中暴露;`9778`:Admin 服务(Storage 接收 Meta 命令的服务)占用的端口;`9780`:Raft 通信端口。|不支持| +| `ws_ip` | `0.0.0.0` | HTTP 服务的 IP 地址。 |不支持| +| `ws_http_port` | `19779` | HTTP 服务的端口。 |不支持| +|`heartbeat_interval_secs` | `10` | 默认心跳间隔。请确保所有服务的`heartbeat_interval_secs`取值相同,否则会导致系统无法正常工作。单位:秒。 |支持| !!! caution @@ -66,30 +70,30 @@ Storage 服务提供了两份初始配置文件`nebula-storaged.conf.default`和 ## raft 配置 -| 名称 | 预设值 | 说明 | -| :--------------------------- | :-------- | :------------------------ | -|`raft_heartbeat_interval_secs`| `30` | Raft 选举超时时间。单位:秒。 | -|`raft_rpc_timeout_ms` | `500` | Raft 客户端的远程过程调用(RPC)超时时间。单位:毫秒。 | -|`wal_ttl` | `14400` | Raft WAL 的有效时间。单位:秒。 | +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :--------------------------- | :-------- | :------------------------ |:----------------------- | +|`raft_heartbeat_interval_secs`| `30` | Raft 选举超时时间。单位:秒。 |支持| +|`raft_rpc_timeout_ms` | `500` | Raft 客户端的远程过程调用(RPC)超时时间。单位:毫秒。 |支持| +|`wal_ttl` | `14400` | Raft WAL 的有效时间。单位:秒。 |支持| ## disk 配置 -| 名称 | 预设值 | 说明 | -| :--------------------------| :-------------- | :------------------------ | -|`data_path` | `data/storage` | 数据存储路径,多个路径用英文逗号(,)分隔。一个 RocksDB 实例对应一个路径。 | -|`minimum_reserved_bytes`|`268435456`|每个数据存储路径的剩余空间最小值,低于该值时,可能会导致集群数据写入失败。单位:字节。| -|`rocksdb_batch_size` | `4096` | 批量操作的缓存大小。单位:字节。 | -|`rocksdb_block_cache` | `4` | BlockBasedTable 的默认块缓存大小。单位:兆字节。 | -|`disable_page_cache` |`false`|允许或禁止 NebulaGraph 使用操作系统的页缓存。默认值为`false`,表示允许使用 page cache。当值为`true`时,禁止 NebulaGraph 使用 page cache,此时须设置充足的块缓存(block cache)空间。| -|`engine_type` | `rocksdb` | 存储引擎类型。 | -|`rocksdb_compression` | `lz4` | 压缩算法,可选值:`no`、`snappy`、`lz4`、`lz4hc`、`zlib`、`bzip2`、`zstd`。
该参数会修改每一层的压缩算法,如需为不同层级设置不同的压缩算法,请使用`rocksdb_compression_per_level`参数。 | -|`rocksdb_compression_per_level` | - | 为不同层级设置不同的压缩算法。优先级高于`rocksdb_compression`。例如`no:no:lz4:lz4:snappy:zstd:snappy`。
也可以不设置某个层级的压缩算法,例如`no:no:lz4:lz4::zstd`,此时 L4、L6 层使用`rocksdb_compression`参数的压缩算法。 | -|`enable_rocksdb_statistics` | `false` | 是否启用 RocksDB 的数据统计。 | -|`rocksdb_stats_level` | `kExceptHistogramOrTimers` | RocksDB 的数据统计级别。可选值:`kExceptHistogramOrTimers`(禁用计时器统计,跳过柱状图统计)、`kExceptTimers`(跳过计时器统计)、`kExceptDetailedTimers`(收集除互斥锁和压缩花费时间之外的所有统计数据)、`kExceptTimeForMutex`收集除互斥锁花费时间之外的所有统计数据)、`kAll`(收集所有统计数据)。 | -|`enable_rocksdb_prefix_filtering` | `true` | 是否启用 prefix bloom filter,启用时可以提升图遍历速度,但是会增加内存消耗。 | -|`enable_rocksdb_whole_key_filtering` | `false` | 是否启用 whole key bloom filter。 | -|`rocksdb_filtering_prefix_length` | `12` | 每个 key 的 prefix 长度。可选值:`12`(分片 ID+点 ID)、`16`(分片 ID+点 ID+TagID/Edge typeID)。单位:字节。 | -|`enable_partitioned_index_filter`|`false` |设置为`true`可以降低 bloom 过滤器占用的内存大小,但是在某些随机寻道(random-seek)的情况下,可能会降低读取性能。初始配置文件中未设置该参数,如需使用请手动添加。| +| 名称 | 预设值 | 说明 |是否支持运行时动态修改| +| :--------------------------| :-------------- | :------------------------ |:----------------------- | +|`data_path` | `data/storage` | 数据存储路径,多个路径用英文逗号(,)分隔。一个 RocksDB 实例对应一个路径。 |不支持| +|`minimum_reserved_bytes`|`268435456`|每个数据存储路径的剩余空间最小值,低于该值时,可能会导致集群数据写入失败。单位:字节。|不支持| +|`rocksdb_batch_size` | `4096` | 批量操作的缓存大小。单位:字节。 |不支持| +|`rocksdb_block_cache` | `4` | BlockBasedTable 的默认块缓存大小。单位:兆字节。 |不支持| +|`disable_page_cache` |`false`|允许或禁止 NebulaGraph 使用操作系统的页缓存。默认值为`false`,表示允许使用 page cache。当值为`true`时,禁止 NebulaGraph 使用 page cache,此时须设置充足的块缓存(block cache)空间。|不支持| +|`engine_type` | `rocksdb` | 存储引擎类型。 |不支持| +|`rocksdb_compression` | `lz4` | 压缩算法,可选值:`no`、`snappy`、`lz4`、`lz4hc`、`zlib`、`bzip2`、`zstd`。
该参数会修改每一层的压缩算法,如需为不同层级设置不同的压缩算法,请使用`rocksdb_compression_per_level`参数。 |不支持| +|`rocksdb_compression_per_level` | - | 为不同层级设置不同的压缩算法。优先级高于`rocksdb_compression`。例如`no:no:lz4:lz4:snappy:zstd:snappy`。
也可以不设置某个层级的压缩算法,例如`no:no:lz4:lz4::zstd`,此时 L4、L6 层使用`rocksdb_compression`参数的压缩算法。 |不支持| +|`enable_rocksdb_statistics` | `false` | 是否启用 RocksDB 的数据统计。 |不支持| +|`rocksdb_stats_level` | `kExceptHistogramOrTimers` | RocksDB 的数据统计级别。可选值:`kExceptHistogramOrTimers`(禁用计时器统计,跳过柱状图统计)、`kExceptTimers`(跳过计时器统计)、`kExceptDetailedTimers`(收集除互斥锁和压缩花费时间之外的所有统计数据)、`kExceptTimeForMutex`收集除互斥锁花费时间之外的所有统计数据)、`kAll`(收集所有统计数据)。 |不支持| +|`enable_rocksdb_prefix_filtering` | `true` | 是否启用 prefix bloom filter,启用时可以提升图遍历速度,但是会增加内存消耗。 |不支持| +|`enable_rocksdb_whole_key_filtering` | `false` | 是否启用 whole key bloom filter。 |不支持| +|`rocksdb_filtering_prefix_length` | `12` | 每个 key 的 prefix 长度。可选值:`12`(分片 ID+点 ID)、`16`(分片 ID+点 ID+TagID/Edge typeID)。单位:字节。 |不支持| +|`enable_partitioned_index_filter`|`false` |设置为`true`可以降低 bloom 过滤器占用的内存大小,但是在某些随机寻道(random-seek)的情况下,可能会降低读取性能。初始配置文件中未设置该参数,如需使用请手动添加。|不支持| - -NebulaGraph Cloud 支持基于阿里云的自管云服务,因此又名 [NebulaGraph Cloud 阿里云版](nebula-cloud-on-alibabacloud/1.create-service-instance.md)。 - -## 内核版本 - -Cloud 支持的最新 NebulaGraph 内核版本为 {{cloud.aliyunRelease}}。 - - + ## 产品功能 - 即买即用。用户可以根据自己的业务发展随时创建或停止 NebulaGraph 实例,业务提供充分的灵活性。 -- 集成可视化图数据库管理工具 Nebula Dashboard、Nebula Explorer。可以使用它们导入图数据集、执行 nGQL 语句查询、探索图数据、监控数据等。即使没有图数据库操作经验,也可以快速成为图专家。详情参见 [配套的应用](../nebula-cloud/5.solution/5.1.supporting-application.md)。 -- 创建私有链接。用户可直接使用 Nebula Console 连接到云上数据库,而不需要先访问云平台。详情参见 [Private Link](../nebula-cloud/5.solution/5.2.connection-configuration-and-use.md)。 +- 集成可视化图数据库管理工具 Nebula Dashboard、Nebula Explorer。可以使用它们导入图数据集、执行 nGQL 语句查询、探索图数据、监控数据等。即使没有图数据库操作经验,也可以快速成为图专家。 +- 用户可直接使用 Nebula Console 等客户端连接到云上数据库,而不需要先访问云平台。 - 权限控制。用户可以为指定图空间增加不同角色权限的数据库用户,保证业务数据安全。 - 官方支持。用户可以快速创建工单,咨询使用过程中遇到的问题。 @@ -38,7 +26,10 @@ Cloud 支持的最新 NebulaGraph 内核版本如下: - 高可用性:Cloud 上创建的 NebulaGraph 集群采用 Raft 协议,结合云厂商提供的同城多机房实现数据冗余备份,保证云计算基础框架的高可用性、数据的可靠性以及云服务器的高可用性。 - 操作易用:Cloud 提供 Web 页面对 NebulaGraph 集群进行在线管理,同时提供配套的可视化软件,降低用户使用门槛,快速上手。 -### 视频 +## 视频 + +用户也可以观看视频了解 NebulaGraph Cloud。 + +[NebulaGraph Cloud 阿里云版介绍](https://www.bilibili.com/video/BV1BY411K7QJ)(05 分 37 秒) -* [NebulaGraph Cloud 阿里云版介绍](https://www.bilibili.com/video/BV1BY411K7QJ)(5 分 38 秒) diff --git a/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/1.create-service-instance.md b/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/1.create-service-instance.md index 8fb9cf88b14..7f02f8f6e82 100644 --- a/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/1.create-service-instance.md +++ b/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/1.create-service-instance.md @@ -2,14 +2,9 @@ 在使用 NebulaGraph Cloud 阿里云版服务前,要先在阿里云控制台创建服务实例。 -!!! caution - - 通过 NebulaGraph Cloud 阿里云版创建的 NebulaGraph、NebulaGraph Dashboard 和 NebulaGraph Explorer 服务都是企业版,试用期 3 天。如需长期使用,[联系我们](https://www.nebula-graph.com.cn/contact)申请正式许可证,之后[续期许可证](../../4.deployment-and-installation/deploy-license.md#nebula_graph_license_3)。 - -## 前提条件 - -- 准备[阿里云账号](https://help.aliyun.com/document_detail/324606.html)。 +## 账号与权限 +- 准备[阿里云账号](http://c.nxw.so/bC0B2 "https://help.aliyun.com/document_detail/324606.html")。 - 如果使用 RAM 用户创建实例,需为其添加以下权限: - AliyunECSFullAccess @@ -18,71 +13,139 @@ - AliyunCloudMonitorFullAccess - AliyunComputeNestUserFullAccess -## 操作步骤 +## 资源与费用 -1. 登录[创建服务实例](https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstanceCreate?ServiceId=service-39f4f251e9484369a778)页面。 +NebulaGraph Cloud 阿里云版支持免费试用和付费使用,二者的详细说明如下表。 -2. 选中**同意授权并创建关联角色**。 +| 项目 | 免费试用版 | 付费版 | +| - | - | - | +| 云资源归属 | 阿里云官方账号 | 用户账号 | +| 云资源费用 | **阿里云承担** | 用户承担 | +| 云资源使用时长 | 30 天(不可续期) | 用户创建实例时选择 | +| NebulaGraph 许可证费用 | **试用期内免费** | 用户承担 | +| NebulaGraph 服务许可证有效期 | 30 天 | 用户创建实例时选择 | +| 许可证过期后数据是否保留 | 否(因云资源会同时到期) | 是 | +| 云资源到期后数据是否保留 | 否 | 否 | +| 数据盘快照费用 | **阿里云承担** | 用户承担(可关闭功能) | - ![选中同意授权并创建关联角色](https://docs-cdn.nebula-graph.com.cn/figures/authorize-compute-nest_cn_2022.05.30.png) +## 数据备份 -3. 选择要创建实例的**地域**。 +在创建服务实例时,系统会默认开启数据盘自动快照备份,用于周期性备份 NebulaGraph 数据。 -4. 进行**基本信息配置**。 - - 1. 选择 **NebulaGraph版本**。默认为 **3.1.0**。 - 当前仅能选择 **3.1.0**。 - - 2. 设置 **NebulaGraph集群名**。默认为`nebula`。 - - 3. 设置实例密码。 - - - 密码长度为 8-30 个字符。 - - 密码中必须包含大写字母、小写字母、数字、特殊符号中的三种。 - - 特殊符号包括:()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ +创建付费版服务实例前需[开通快照](https://help.aliyun.com/document_detail/108381.html)。免费试用实例使用的是阿里云官方账号下的资源,已开通快照,无需用户手动开通。 + +默认的快照备份策略为每天 00:00 创建快照。 + +创建快照会产生费用,详情参见[快照计费](https://help.aliyun.com/document_detail/56159.htm)。 + +如需删除快照、修改或删除自动快照策略,参见[快照文档](https://help.aliyun.com/document_detail/108376.html)。 + +## 套餐版本 + +NebulaGraph Cloud 阿里云版支持如下套餐版本。 + +| 套餐版本 | 说明 | +| - | - | +| 基础版 | 将所有 NebulaGraph 服务节点部署在 1 台 ECS 服务器上。 | +| 标准版 | 将 Graph 服务和 Storage 服务分别部署在不同的 ECS 服务器上,每个服务都是单节点(1 台 ECS)。将 Explorer 等生态工具混合部署在 1 台 ECS 服务器上。 | +| 高可用版 | 将 Graph 服务和 Storage 服务分别部署在不同的 ECS 服务器上,每个服务都包含 3 节点(3 台 ECS)。将 Explorer 等生态工具混合部署在 1 台 ECS 服务器上。 | -5. 进行**付费模式设置**,指定 ECS 服务器的付费方式。默认为**按量付费**。 +付费版和免费试用版服务实例支持的套餐版本有所不同,详情参见创建实例页面。 + +## 创建付费版服务实例 + +1. 登录[阿里云控制台](https://home.console.aliyun.com/home/dashboard/ProductAndService)。 + +2. 打开云市场的 [NebulaGraph 产品页](https://market.aliyun.com/products/56024006/cmgj00059955.html?#sku=yuncode5395500004)。 + +3. 选择**套餐版本**和**购买时长**(即 NebulaGraph 服务的许可证有效期),并单击**立即购买**。 + +4. 在**创建服务实例**页,保持**选择模板**处的选择不变。如需切换部署架构,可改变选中的选项,重新选择模板。 + + !!! note + + 改变模板会改变之前选择的套餐版本,软件费用(NebulaGraph 许可证费用)和创建服务实例需要的资源也会改变。 + +5. (可选)设置**服务实例名称**。默认值为服务实例 ID。 + +6. 选择要创建服务实例的**地域**。 + +7. 在**付费模式设置**区域,指定 ECS 服务器的付费方式。默认为**按量付费**。 - **按量付费**:按照计费周期计费,在每个结算周期生成账单并从账户中扣除相应费用。详情参见[按量付费](https://help.aliyun.com/document_detail/40653.html)。 - - **预付费,包年包月**:先付费后使用。详情参见[包年包月](https://help.aliyun.com/document_detail/56220.html)。 - - 选择包年包月模式需要指定**购买时长周期**和**购买时长**。**购买时长周期**当前仅支持 **Month**,即按月购买,**购买时间**选择范围为 1-60 月。 - -6. 进行**基础设施配置**。 + - **包年包月**:先付费后使用。详情参见[包年包月](https://help.aliyun.com/document_detail/56220.html)。选择包年包月模式需要指定**购买时长周期**和**购买时长**。**购买时长周期**当前仅支持 **Month**,即按月购买。 - 1. 选择**专有网络VPC实例ID**。 +8. 在 **NebulaGraph 配置**区域,完成数据盘和 ECS 服务器密码设置。 +9. 在**基础设施配置**区域,完成以下设置。 + + 1. 选择**专有网络 VPC 实例 ID**。 + 如果下拉列表为空,先单击其右侧的**新建专有网络**,完成专有网络创建。 2. 选择**交换机可用区**。 - 3. 选择**业务网络交换机的实例ID**。 - + 3. 选择**业务网络交换机的实例 ID**。 + 如果下拉列表为空,先单击其右侧的**新建交换机**,完成交换机创建。 -7. 进行**集群节点配置**,根据业务需求配置 NebulaGraph 内核服务的节点。 +10. 完成**权限确认**,并选中**我同意授权服务商(杭州悦数科技有限公司)获取上述权限以提供代运维服务**。 + +11. 在页面底部,单击**下一步:确认订单**。 + +12. 在**服务条款**区域,勾选**我已阅读并同意《商品在线协议》《云市场平台服务协议》《计算巢服务协议》**。 + +13. 在页面底部,单击**立即支付**。 + +14. 在**支付**页面,选择支付方式,之后单击页面底部的**支付**。 + +15. 在**支付完成**页面,单击**管理控制台**。 + +16. 在**已购买的服务**页面,单击要创建的实例右侧的**立即进入计算巢部署或查看部署详情**。 + + !!! note - NebulaGraph 内核包含 Graph、Meta、Storage 服务,因此需要为这些服务分别选择**节点数量**、**节点实例类型**、**数据盘类型**和**数据盘空间**。 + 如果已购买的服务列表中未显示要创建的实例,刷新页面。 - !!! caution - 建议按照页面推荐信息配置集群节点以提升服务的可用性,例如配置 3 个 Meta 节点和至少 3 个 Storage 节点。 +17. 在**服务实例详情**页查看实例的**状态**,确保状态为**部署中**。 -8. 进行**可视化产品配置**,选择要部署的可视化产品。 + 部署的平均耗时为 10 分钟。完成后实例的状态变为**已部署**。 + +## 创建免费版试用版服务实例 + +!!! danger + 免费试用实例不可在生产环境中使用。 + +1. 登录阿里云计算巢[推荐服务](http://c.nxw.so/bC0C0 "https://computenest.console.aliyun.com/user/cn-hangzhou/recommendService")页面,搜索 **NebulaGraph**。 + +2. 在 **NebulaGraph 集群版**卡片上,单击**免费试用**。 + +3. 系统会为首次创建 NebulaGraph 服务实例的用户弹出申请对话框。在**申请权限**对话框中填写申请人信息。带有红色星号(*)的为必填项。 + + !!! note - 可选用的产品包括 [Dashboard](../../nebula-dashboard-ent/1.what-is-dashboard-ent.md) 和 [Explorer](../../nebula-explorer/about-explorer/ex-ug-what-is-explorer.md),默认都处于**开启**状态,此时需要为其选择**实例类型**。选中**关闭**表示不部署相应产品。 + 申请通过后需从第 1 步重新开始。 -9. 根据需要配置**标签和资源组**。详情参见[什么是资源管理](https://help.aliyun.com/document_detail/94475.html)。 +4. (可选)设置**服务实例名称**。默认值为服务实例 ID。 -10. 完成**权限确认**,并选中**我同意授权服务商(杭州悦数科技有限公司)获取上述权限以提供代运维服务**。 +5. 选择要创建实例的**地域**。 + +6. 在 **NebulaGraph 配置**区域,完成数据盘和 ECS 服务器密码设置。 + +7. 在**基础设施配置**区域,选择**交换机可用区**。 + +8. 完成**权限确认**,并选中**我同意授权服务商(杭州悦数科技有限公司)获取上述权限以提供代运维服务**。 + +9. 在页面底部,单击**下一步:确认订单**。 -11. 在页面底部,选中**我已阅读并同意《计算巢服务协议》**,并单击**创建**。 +10. 在**服务条款**区域,勾选**我已阅读并同意《计算巢服务协议》**。 -12. 在**创建**对话框,完成**信息确认**并**支付费用**。 +11. 在页面底部,单击**开始免费试用**。 -13. 在**提交成功**页面,单击去列表查看。 +12. 在**提交成功**页面,单击**去列表查看**。 -14. 在实例列表中查看目标实例的**状态**,确保状态为**部署中**。 +13. 在实例列表中查看目标实例的**状态**,确保状态为**部署中**。 部署的平均耗时为 10 分钟。完成后实例的状态变为**已部署**。 diff --git a/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/2.use-cloud-services.md b/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/2.use-cloud-services.md index 0de35f409fa..6f4e3e8a732 100644 --- a/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/2.use-cloud-services.md +++ b/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/2.use-cloud-services.md @@ -2,41 +2,23 @@ 创建好服务实例后,即可查看服务信息,并开始使用 NebulaGraph 服务。 -## 试用期与续期 - -NebulaGraph Cloud 阿里云版中的 NebulaGraph、NebulaGraph Dashboard 和 NebulaGraph Explorer 服务都是企业版,需要有效的许可证才能正常运行。创建实例时默认赠送有效期为 3 天的试用版许可证。 - -试用版许可证到期时,服务无法使用。如需继续使用,请[联系我们](https://www.nebula-graph.com.cn/contact)。 - -获取有效的许可证后,使用新的许可证[替换旧许可证](../../4.deployment-and-installation/deploy-license.md#nebula_graph_license_3),即可继续使用服务。 - -!!! note - - 替换许可证时需要连接 Meta 服务所在的阿里云 ECS 实例,方法参见[连接方式概述](https://help.aliyun.com/document_detail/71529.html)。 - -正式版许可证的续期方法与试用版相同。 - ## 查看服务实例 在计算巢控制台可以查看服务实例的详细信息,详情参见[查看服务实例](https://help.aliyun.com/document_detail/290838.html)。 -## 查看连接地址 +## 查看连接信息 连接服务前,需要在阿里云计算巢的实例详情中查看各服务的连接地址。查看方式如下: -1. 登录[服务实例管理](https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstance/private)页面。 - -2. 在实例列表中,单击目标实例的**服务实例ID**,或其右侧**操作**列的**详情**。 - -3. 在**概览**页的**基本信息**区域,可以查看 Graph 服务、Meta 服务、Storage 服务,以及 Explorer 和 Dashboard 的连接地址。 +1. 登录[服务实例管理](http://c.nxw.so/9huj4 "https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstance/private")页面。 -常用的连接地址有: + !!! note -- **graph_private_ip** 与 **graph_public_ip**,即 Graph 服务的私网与公网 IP 地址,可用于连接 NebulaGraph。 + 如果要寻找的是免费试用版服务实例,需先在**服务实例管理**页面单击**试用服务**标签。 -- **explorer_portal**,即 NebulaGraph Explorer 的连接地址,单击地址即可在浏览器中打开 NebulaGraph Explorer。 +2. 在实例列表中,单击目标实例的**服务实例ID**,或其右侧**操作**列的**详情**。 -- **dashboard_portal**,即 NebulaGraph Dashboard 的连接地址,单击地址即可在浏览器中打开 NebulaGraph Dashboard。 +3. 在**概览**标签页的**基本信息**区域,可以查看 Graph 服务、Storage 服务,以及 Explorer、Dashboard 等周边工具的连接信息。 ## 连接 NebulaGraph @@ -48,7 +30,23 @@ NebulaGraph Cloud 阿里云版提供多种连接方式。 连接方式: -直连 **graph_private_ip** 或 **graph_public_ip** 地址。详细连接方式参见[客户端文档](https://docs.nebula-graph.com.cn/{{nebula.release}}/14.client/1.nebula-client/)。 +直连 Graph 服务的私网或公网 IP 地址。详细连接方式参见[客户端文档](https://docs.nebula-graph.com.cn/{{nebula.release}}/14.client/1.nebula-client/)。 + +如需通过公网连接 NebulaGraph 数据库: + +1. 到 Graph 服务部署的 ECS 实例详情中找到其公网 IP 地址。 + +2. (仅付费版需执行该步骤)在 NebulaGraph 服务实例加入的安全组中,[添加安全组规则](https://help.aliyun.com/document_detail/25471.html),允许从指定的公网 IP 地址访问 TCP 9669 端口。 + + !!! note + + 免费试用版默认允许从公网访问 Graph 服务的 9669 端口。 + +3. 使用 Graph 服务的公网 IP 地址和 9669 端口访问 NebulaGraph 数据库。 + +!!! caution + + 建议仅通过私网 IP 连接,提高网络和数据的安全性。 ### 使用 Explorer 连接 NebulaGraph @@ -56,7 +54,7 @@ NebulaGraph Cloud 阿里云版提供多种连接方式。 连接方式: -1. 在浏览器中使用 **explorer_portal** 地址打开 NebulaGraph Explorer。 +1. 在浏览器中使用 **Explorer 服务访问地址**打开 Nebula Explorer。 2. 使用 Explorer 连接 NebulaGraph。详情参见[连接数据库](https://docs.nebula-graph.com.cn/{{nebula.release}}/nebula-explorer/deploy-connect/ex-ug-connect/)。 ## 监控 NebulaGraph diff --git a/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/4.scaling-services.md b/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/4.scaling-services.md new file mode 100644 index 00000000000..ec6bae7468e --- /dev/null +++ b/docs-2.0/nebula-cloud/nebula-cloud-on-alibabacloud/4.scaling-services.md @@ -0,0 +1,46 @@ +# 扩缩容服务 + +NebulaGraph Cloud 阿里云版的弹性扩缩容功能支持根据需求扩缩容服务节点,灵活调整集群规模。 + +## 使用限制 + +- 弹性扩缩容功能支持 Storage 扩容,不支持 Storage 缩容。 +- 使用弹性扩缩容功能缩容 Graph 服务时,需先使用集群中 NebulaGraph Dashboard 服务的扩缩容功能删除不再需要的 Graph 服务节点。扩容 Graph 服务时无此限制。 + +## 操作步骤 + +1. 登录阿里云计算巢的[服务实例管理页面](http://c.nxw.so/9huj4 "https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstance/private")。 + +2. 在服务实例列表中,单击目标实例的 ID 或其右侧**操作**列的**详情**。 + + !!! note + + 免费试用版服务实例列表在**试用服务**标签页中。 + +3. 在**服务实例详情**页面,单击**运维管理**标签。 + +4. 在**应用运维**区域,单击**弹性扩缩容**。 + +5. 在**弹性扩缩容**对话框,完成如下操作。 + + 1. 确认**将要调整的资源类型**为 **ESS**。 + + 2. 选择**伸缩组 ID**。 + + - 如需扩缩容 Storage 服务,选择名称以 **ng-storage** 开头的伸缩组。 + - 如需扩缩容 Graph 服务,选择名称以 **ng-graph** 开头的伸缩组。 + + 3. 选择**伸缩规则的调整方式**。 + + - 如果选择**扩容**或**缩容**,下方的**伸缩组 ECS 实例调整的数量**指定的是要增加或减少的节点数量。 + - 如果选择**调整至指定数量**,下方的**伸缩组 ECS 实例调整的数量**指定的是节点调整之后剩余的数量,而不是增加或减少的数量。 + + 4. 输入**伸缩组 ECS 实例调整的数量**。 + + 5. 单击**下一步**。 + + 6. 检查任务信息,确认无误后单击**创建**。 + +6. 等候数分钟,直到**运维管理**标签页中的**执行状态**显示**成功**。 + +7. 单击**概览**标签页,查看**服务资源**区域的 ECS 实例数量,如果符合预期的调整效果,则扩缩容完成。 diff --git a/docs-2.0/nebula-dashboard-ent/1.what-is-dashboard-ent.md b/docs-2.0/nebula-dashboard-ent/1.what-is-dashboard-ent.md index 938ca5112f3..879063f05d5 100644 --- a/docs-2.0/nebula-dashboard-ent/1.what-is-dashboard-ent.md +++ b/docs-2.0/nebula-dashboard-ent/1.what-is-dashboard-ent.md @@ -45,6 +45,7 @@ NebulaGraph 的版本和 Dashboard 企业版的版本对应关系如下。 |NebulaGraph 版本|Dashboard 版本| |:---|:---| +|3.4.0 ~ 3.4.1 |3.4.1、3.4.0、3.2.4、3.2.3、3.2.2、3.2.1、3.2.0| |3.3.0 |3.2.4、3.2.3、3.2.2、3.2.1、3.2.0| |2.5.0 ~ 3.2.0|3.1.2、3.1.1、3.1.0| |2.5.x ~ 3.1.0|3.0.4| diff --git a/docs-2.0/nebula-dashboard-ent/4.cluster-operator/cluster-information/runtime-log.md b/docs-2.0/nebula-dashboard-ent/4.cluster-operator/cluster-information/runtime-log.md index e00bca8234a..909abdf82b2 100644 --- a/docs-2.0/nebula-dashboard-ent/4.cluster-operator/cluster-information/runtime-log.md +++ b/docs-2.0/nebula-dashboard-ent/4.cluster-operator/cluster-information/runtime-log.md @@ -1,6 +1,6 @@ # 运行日志 -运行日志通常提供给 DBA 或开发人员查看,当系统出现故障,DBA 或开发人员可以根据运行日志定位问题。,Dashboard 可以快速查看运行日志。 +运行日志通常提供给 DBA 或开发人员查看,当系统出现故障,DBA 或开发人员可以根据运行日志定位问题。Dashboard 可以快速查看运行日志。 ## 入口 @@ -19,4 +19,4 @@ - 支持一键复制窗口内所有日志。 - 支持复制日志文件路径。 - 支持**行尾模式**和**区间模式**查看日志。设置后需要单击**刷新**。 -- 支持通过关键字(至少 3 个字符)搜索日志。 \ No newline at end of file +- 支持通过关键字(至少 3 个字符)搜索日志。 diff --git a/docs-2.0/nebula-dashboard-ent/4.cluster-operator/operator/version-upgrade.md b/docs-2.0/nebula-dashboard-ent/4.cluster-operator/operator/version-upgrade.md index 1881c573357..bd3aa4cf03d 100644 --- a/docs-2.0/nebula-dashboard-ent/4.cluster-operator/operator/version-upgrade.md +++ b/docs-2.0/nebula-dashboard-ent/4.cluster-operator/operator/version-upgrade.md @@ -25,14 +25,12 @@ Dashboard 企业版支持升级现有 NebulaGraph 集群的版本。 !!! note 如果没有找到合适的版本,单击**包管理中心**,下载或上传所需的版本安装包。详情参见[安装包管理](../../system-settings/manage-package.md)。 - -{{ent.ent_begin}} + 5. 单击**上传证书**上传 Dashboard 企业版 License(如升级社区版 NebulaGraph 集群,忽略此步)。 !!! enterpriseonly 此步骤仅针对升级企业版 NebulaGraph 集群。 -{{ent.ent_end}} 6. 单击**下一步**,进行升级检查,然后再单击**下一步**。 diff --git a/docs-2.0/nebula-dashboard/1.what-is-dashboard.md b/docs-2.0/nebula-dashboard/1.what-is-dashboard.md index d2a6da1071d..1a01f15567d 100644 --- a/docs-2.0/nebula-dashboard/1.what-is-dashboard.md +++ b/docs-2.0/nebula-dashboard/1.what-is-dashboard.md @@ -40,6 +40,7 @@ NebulaGraph 的版本和 Dashboard 社区版的版本对应关系如下。 |NebulaGraph 版本|Dashboard 版本| |:---|:---| +|3.4.0 ~ 3.4.1|3.4.0、3.2.0| |3.3.0 |3.2.0| |2.5.0 ~ 3.2.0|3.1.0| |2.5.x ~ 3.1.0|1.1.1| diff --git a/docs-2.0/nebula-exchange/about-exchange/ex-ug-what-is-exchange.md b/docs-2.0/nebula-exchange/about-exchange/ex-ug-what-is-exchange.md index 1667e506eac..5da48d40333 100644 --- a/docs-2.0/nebula-exchange/about-exchange/ex-ug-what-is-exchange.md +++ b/docs-2.0/nebula-exchange/about-exchange/ex-ug-what-is-exchange.md @@ -58,10 +58,13 @@ NebulaGraph Exchange 版本(即 JAR 包版本)、NebulaGraph 内核版本和 |nebula-exchange_spark_3.0-3.0-SNAPSHOT.jar| nightly |3.3.x、3.2.x、3.1.x、3.0.x | |nebula-exchange_spark_2.4-3.0-SNAPSHOT.jar| nightly |2.4.x | |nebula-exchange_spark_2.2-3.0-SNAPSHOT.jar| nightly |2.2.x | -|nebula-exchange_spark_3.0-3.3.0.jar | 3.x.x |3.3.x、3.2.x、3.1.x、3.0.x| +|nebula-exchange_spark_3.0-3.4.0.jar | 3.x.x |3.3.x、3.2.x、3.1.x、3.0.x | +|nebula-exchange_spark_2.4-3.4.0.jar | 3.x.x |2.4.x | +|nebula-exchange_spark_2.2-3.4.0.jar | 3.x.x |2.2.x | +|nebula-exchange_spark_3.0-3.3.0.jar | 3.x.x |3.3.x、3.2.x、3.1.x、3.0.x | |nebula-exchange_spark_2.4-3.3.0.jar | 3.x.x |2.4.x | |nebula-exchange_spark_2.2-3.3.0.jar | 3.x.x |2.2.x | -|nebula-exchange_spark_3.0-3.0.0.jar | 3.x.x |3.3.x、3.2.x、3.1.x、3.0.x| +|nebula-exchange_spark_3.0-3.0.0.jar | 3.x.x |3.3.x、3.2.x、3.1.x、3.0.x | |nebula-exchange_spark_2.4-3.0.0.jar | 3.x.x |2.4.x | |nebula-exchange_spark_2.2-3.0.0.jar | 3.x.x |2.2.x | |nebula-exchange-2.6.3.jar | 2.6.1、2.6.0 |2.4.x | @@ -113,7 +116,7 @@ Exchange {{exchange.release}} 支持将以下格式或来源的数据转换为 N {{ ent.ent_begin }} -此外,企业版 Exchange 支持以 NebulaGraph 为源,将数据[导出到 CSV 文件](../use-exchange/ex-ug-export-from-nebula.md)。 +此外,企业版 Exchange 支持以 NebulaGraph 为源,将数据[导出到 CSV 文件或另一个图空间](../use-exchange/ex-ug-export-from-nebula.md)。 {{ ent.ent_end }} diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-export-from-nebula.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-export-from-nebula.md index 7c7ef51f6df..8c0e220e0b1 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-export-from-nebula.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-export-from-nebula.md @@ -1,10 +1,10 @@ # 导出 NebulaGraph 数据 -本文以一个示例说明如何使用 Exchange 将 NebulaGraph 中的数据导出到 CSV 文件中。 +Exchange 支持将 NebulaGraph 中的数据导出到 CSV 文件或另一个图空间(不同 NebulaGraph 集群也支持)中。本文介绍具体的操作步骤。 !!! enterpriseonly - 仅企业版 Exchange 支持导出 NebulaGraph 数据,且仅能导出到 CSV 文件。 + 仅企业版 Exchange 支持导出 NebulaGraph 数据。 ## 环境准备 @@ -49,81 +49,240 @@ CentOS 7.9.2009 2. 修改配置文件。 - 企业版 Exchange 提供了导出 NebulaGraph 数据专用的配置文件模板`export_application.conf`,其中各配置项的说明参见 [Exchange 配置](../parameter-reference/ex-ug-parameter.md)。本示例使用的配置文件核心内容如下: + 企业版 Exchange 提供了导出 NebulaGraph 数据专用的配置文件模板`export_to_csv.conf`和`export_to_nebula.conf`,其中各配置项的说明参见 [Exchange 配置](../parameter-reference/ex-ug-parameter.md)。本示例使用的配置文件核心内容如下: + - 导出到 CSV 文件: + ```conf - ... + # Use the command to submit the exchange job: + + # spark-submit \ + # --master "spark://master_ip:7077" \ + # --driver-memory=2G --executor-memory=30G \ + # --total-executor-cores=60 --executor-cores=20 \ + # --class com.vesoft.nebula.exchange.Exchange \ + # nebula-exchange-3.0-SNAPSHOT.jar -c export_to_csv.conf + + { + # Spark config + spark: { + app: { + name: NebulaGraph Exchange + } + } + + # Nebula Graph config + # if you export nebula data to csv, please ignore these nebula config + nebula: { + address:{ + graph:["127.0.0.1:9669"] + + # the address of any of the meta services. + # if your NebulaGraph server is in virtual network like k8s, please config the leader address of meta. + meta:["127.0.0.1:9559"] + } + user: root + pswd: nebula + space: test + + # nebula client connection parameters + connection { + # socket connect & execute timeout, unit: millisecond + timeout: 30000 + } + + error: { + # max number of failures, if the number of failures is bigger than max, then exit the application. + max: 32 + # failed data will be recorded in output path, format with ngql + output: /tmp/errors + } + + # use google's RateLimiter to limit the requests send to NebulaGraph + rate: { + # the stable throughput of RateLimiter + limit: 1024 + # Acquires a permit from RateLimiter, unit: MILLISECONDS + # if it can't be obtained within the specified timeout, then give up the request. + timeout: 1000 + } + } # Processing tags - # There are tag config examples for different dataSources. tags: [ - # export NebulaGraph tag data to csv, only support export to CSV for now. { - name: player + # you can ignore the tag name when export nebula data to csv + name: tag-name-1 type: { - source: Nebula - sink: CSV + source: nebula + sink: csv } - # the path to save the NebulaGrpah data, make sure the path doesn't exist. - path:"hdfs://192.168.8.177:9000/vertex/player" - # if no need to export any properties when export NebulaGraph tag data - # if noField is configured true, just export vertexId - noField:false - # define properties to export from NebulaGraph tag data - # if return.fields is configured as empty list, then export all properties - return.fields:[] - # NebulaGraph space partition number - partition:10 - } - - ... + # config the fields you want to export from nebula + fields: [nebula-field-0, nebula-field-1, nebula-field-2] + noFields:false # default false, if true, just export id + partition: 60 + # config the path to save your csv file. if your file in not in hdfs, config "file:///path/ test.csv" + path: "hdfs://ip:port/path/person" + separator: "," + header: true + } ] - # Processing edges - # There are edge config examples for different dataSources. + # process edges edges: [ - # export NebulaGraph tag data to csv, only support export to CSV for now. { - name: follow + # you can ignore the edge name when export nebula data to csv + name: edge-name-1 type: { - source: Nebula - sink: CSV + source: nebula + sink: csv } - # the path to save the NebulaGrpah data, make sure the path doesn't exist. - path:"hdfs://192.168.8.177:9000/edge/follow" - # if no need to export any properties when export NebulaGraph edge data - # if noField is configured true, just export src,dst,rank - noField:false - # define properties to export from NebulaGraph edge data - # if return.fields is configured as empty list, then export all properties - return.fields:[] - # NebulaGraph space partition number - partition:10 + # config the fields you want to export from nebula + fields: [nebula-field-0, nebula-field-1, nebula-field-2] + noFields:false # default false, if true, just export id + partition: 60 + # config the path to save your csv file. if your file in not in hdfs, config "file:///path/ test.csv" + path: "hdfs://ip:port/path/friend" + separator: "," + header: true + } + ] + } + ``` + + - 导出到另一个图空间: + + ```conf + # Use the command to submit the exchange job: + + # spark-submit \ + # --master "spark://master_ip:7077" \ + # --driver-memory=2G --executor-memory=30G \ + # --total-executor-cores=60 --executor-cores=20 \ + # --class com.vesoft.nebula.exchange.Exchange \ + # nebula-exchange-3.0-SNAPSHOT.jar -c export_to_nebula.conf + + { + # Spark config + spark: { + app: { + name: NebulaGraph Exchange } + } - ... + # Nebula Graph config, just config the sink nebula information + nebula: { + address:{ + graph:["127.0.0.1:9669"] + + # the address of any of the meta services. + # if your NebulaGraph server is in virtual network like k8s, please config the leader address of meta. + meta:["127.0.0.1:9559"] + } + user: root + pswd: nebula + space: test + + # nebula client connection parameters + connection { + # socket connect & execute timeout, unit: millisecond + timeout: 30000 + } + error: { + # max number of failures, if the number of failures is bigger than max, then exit the application. + max: 32 + # failed data will be recorded in output path, format with ngql + output: /tmp/errors + } + + # use google's RateLimiter to limit the requests send to NebulaGraph + rate: { + # the stable throughput of RateLimiter + limit: 1024 + # Acquires a permit from RateLimiter, unit: MILLISECONDS + # if it can't be obtained within the specified timeout, then give up the request. + timeout: 1000 + } + } + + # Processing tags + tags: [ + { + name: tag-name-1 + type: { + source: nebula + sink: client + } + # data source nebula config + metaAddress:"127.0.0.1:9559" + space:"test" + label:"person" + # mapping the fields of the original NebulaGraph to the fields of the target NebulaGraph. + fields: [source_nebula-field-0, source_nebula-field-1, source_nebula-field-2] + nebula.fields: [target_nebula-field-0, target_nebula-field-1, target_nebula-field-2] + limit:10000 + vertex: _vertexId # must be `_vertexId` + batch: 2000 + partition: 60 + } + ] + + # process edges + edges: [ + { + name: edge-name-1 + type: { + source: csv + sink: client + } + # data source nebula config + metaAddress:"127.0.0.1:9559" + space:"test" + label:"friend" + fields: [source_nebula-field-0, source_nebula-field-1, source_nebula-field-2] + nebula.fields: [target_nebula-field-0, target_nebula-field-1, target_nebula-field-2] + limit:1000 + source: _srcId # must be `_srcId` + target: _dstId # must be `_dstId` + ranking: source_nebula-field-2 + batch: 2000 + partition: 60 + } ] } ``` 3. 使用如下命令导出 NebulaGraph 中的数据。 + !!! note + + Driver 和 Executor 进程的相关参数可以根据自身配置灵活修改。 + ```bash - /bin/spark-submit --master "local" --class com.vesoft.nebula.exchange.Exchange nebula-exchange-x.y.z.jar_path> -c + /bin/spark-submit --master "spark://:7077" \ + --driver-memory=2G --executor-memory=30G \ + --total-executor-cores=60 --executor-cores=20 \ + --class com.vesoft.nebula.exchange.Exchange nebula-exchange-x.y.z.jar_path> \ + -c ``` - 本示例使用的导出命令如下。 + 例如导出到 CSV 文件的示例命令如下。 ```bash - $ ./spark-submit --master "local" --class com.vesoft.nebula.exchange.Exchange \ - ~/exchange-ent/nebula-exchange-ent-{{exchange.release}}.jar -c ~/exchange-ent/export_application.conf + $ ./spark-submit --master "spark://192.168.10.100:7077" \ + --driver-memory=2G --executor-memory=30G \ + --total-executor-cores=60 --executor-cores=20 \ + --class com.vesoft.nebula.exchange.Exchange ~/exchange-ent/nebula-exchange-ent-{{exchange.release}}.jar \ + -c ~/exchange-ent/export_to_csv.conf ``` 4. 检查导出的数据。 - 1. 查看目标路径下是否成功生成了 CSV 文件。 + - 导出到 CSV 文件: + + 查看目标路径下是否成功生成了 CSV 文件,并检查文件内容。 ```bash $ hadoop fs -ls /vertex/player @@ -141,4 +300,6 @@ CentOS 7.9.2009 -rw-r--r-- 3 nebula supergroup 119 2021-11-05 07:36 /vertex/player/ part-00009-17293020-ba2e-4243-b834-34495c0536b3-c000.csv ``` - 2. 检查 CSV 文件内容,确定数据导出成功。 + - 导出到另一个图空间: + + 登录新的图空间,通过`SUBMIT JOB STATS`和`SHOW STATS`命令查看统计信息,确认是否导出成功。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-clickhouse.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-clickhouse.md index c2065ddbfa0..3b60b510c28 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-clickhouse.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-clickhouse.md @@ -109,6 +109,9 @@ # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -308,7 +311,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-csv.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-csv.md index b1476d46534..09fd9515ec8 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-csv.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-csv.md @@ -127,6 +127,8 @@ # 如果有多台服务器,地址之间用英文逗号(,)分隔。 # 格式:"ip1:port","ip2:port","ip3:port" graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } @@ -388,7 +390,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hbase.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hbase.md index 46ae75487b1..0bac80e2628 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hbase.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hbase.md @@ -146,6 +146,8 @@ ROW COLUMN+CELL # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -331,7 +333,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hive.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hive.md index 57ef8eb6d1c..58b8482a113 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hive.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-hive.md @@ -186,6 +186,8 @@ scala> sql("select playerid, teamid, start_year, end_year from basketball.serve" # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -358,7 +360,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-jdbc.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-jdbc.md index 0187f70d113..2e136b7f0cb 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-jdbc.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-jdbc.md @@ -153,6 +153,8 @@ mysql> desc serve; # 如果有多台服务器,地址之间用英文逗号(,)分隔。 # 格式:"ip1:port","ip2:port","ip3:port" graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } @@ -382,7 +384,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-json.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-json.md index 40dce62282f..d0169a4d90c 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-json.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-json.md @@ -155,6 +155,8 @@ # 如果有多台服务器,地址之间用英文逗号(,)分隔。 # 格式:"ip1:port","ip2:port","ip3:port" graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } @@ -385,7 +387,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-kafka.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-kafka.md index f44726f1be1..0cd7301967c 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-kafka.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-kafka.md @@ -101,6 +101,8 @@ # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -286,7 +288,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-maxcompute.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-maxcompute.md index 80f41c30026..4b95ebbb632 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-maxcompute.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-maxcompute.md @@ -109,6 +109,8 @@ # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -333,7 +335,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-mysql.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-mysql.md index a191cd9c8e3..925c1be0f9e 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-mysql.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-mysql.md @@ -149,6 +149,8 @@ mysql> desc serve; # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -346,7 +348,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-neo4j.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-neo4j.md index 6c72c863d44..cb44f786fc6 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-neo4j.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-neo4j.md @@ -135,6 +135,8 @@ Exchange 读取 Neo4j 数据时需要完成以下工作: nebula: { address:{ graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } user: root @@ -307,7 +309,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-oracle.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-oracle.md index 6a83fd056e2..cfe97d7e831 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-oracle.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-oracle.md @@ -151,6 +151,8 @@ oracle> desc serve; # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -345,7 +347,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-orc.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-orc.md index 0af63712c32..0ea775d3184 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-orc.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-orc.md @@ -123,6 +123,8 @@ # 如果有多台服务器,地址之间用英文逗号(,)分隔。 # 格式:"ip1:port","ip2:port","ip3:port" graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } @@ -353,7 +355,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-parquet.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-parquet.md index b3c5929391e..79294c01400 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-parquet.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-parquet.md @@ -123,6 +123,8 @@ # 如果有多台服务器,地址之间用英文逗号(,)分隔。 # 格式:"ip1:port","ip2:port","ip3:port" graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } @@ -353,7 +355,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-pulsar.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-pulsar.md index 2467f8d66af..e8e8ecfd6d6 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-pulsar.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-pulsar.md @@ -101,6 +101,8 @@ # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔开。 graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } # 填写的账号必须拥有 NebulaGraph 相应图空间的写数据权限。 @@ -301,7 +303,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --class com.vesoft.nebula.excha 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-sst.md b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-sst.md index 0edae34e7c0..29ecc381238 100644 --- a/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-sst.md +++ b/docs-2.0/nebula-exchange/use-exchange/ex-ug-import-from-sst.md @@ -193,6 +193,8 @@ SST 文件是一个内部包含了任意长度的有序键值对集合的文件 nebula: { address:{ graph:["127.0.0.1:9669"] + #任意一个 Meta 服务的地址。 + #如果您的 NebulaGraph 在虚拟网络中,如k8s,请配置 Leader Meta的地址。 meta:["127.0.0.1:9559"] } user: root @@ -527,7 +529,7 @@ ${SPARK_HOME}/bin/spark-submit --master "local" --conf spark.sql.shuffle.partit 用户可以在 NebulaGraph 客户端(例如 NebulaGraph Studio)中执行查询语句,确认数据是否已导入。例如: ```ngql -GO FROM "player100" OVER follow; +LOOKUP ON player YIELD id(vertex); ``` 用户也可以使用命令 [`SHOW STATS`](../../3.ngql-guide/7.general-query-statements/6.show/14.show-stats.md) 查看统计数据。 diff --git a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md index cc786aed4b9..327c847e632 100644 --- a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md +++ b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md @@ -47,6 +47,7 @@ NebulaGraph 的版本和 Explorer 版本对应关系如下。 | NebulaGraph 版本 | Explorer 版本 | | --- | --- | +| 3.4.0 ~ 3.4.1 | 3.4.0、3.2.1、3.2.0 | | 3.3.0 | 3.2.1、3.2.0| | 3.1.0 ~ 3.2.x| 3.1.0| | 3.0.0 ~ 3.1.0 | 3.0.0 | diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/workflow-api-overview.md b/docs-2.0/nebula-explorer/workflow/workflow-api/workflow-api-overview.md index 5a46893a525..901e05f7600 100644 --- a/docs-2.0/nebula-explorer/workflow/workflow-api/workflow-api-overview.md +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/workflow-api-overview.md @@ -39,7 +39,7 @@ curl http://:/?{} curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer " -d '{"address":"","port":}' http://:/api-open/v1/connect ``` -- ``:Base64 编码后的 NebulaGraph 账号和密码。编码前格式为`账号:密码`,下文示例为`root:123`,编码后为`cm9vdDoxMjM=`。 +- ``:Base64 编码后的 NebulaGraph 账号和密码字符串。以用户名`root`、密码`123`为例,序列化后的字符串为`["root","123"]`,Base64 编码后为`WyJyb290IiwiMTIzIl0=`。 - ``:NebulaGraph 访问地址。 - ``:NebulaGraph 访问端口。 - ``:NebulaGraph Explorer 访问地址。 @@ -48,7 +48,7 @@ curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer = 1.4.0。 +- Kubernetes 上部署的企业版 NebulaGraph 集群正在运行。 +- 在创建集群的 YAML 中,设置了`spec.enableBR`为`true`。 + + ``` + // 集群 YAML 文件示例部分内容。 + apiVersion: apps.nebula-graph.io/v1alpha1 + kind: NebulaCluster + metadata: + name: nebula + spec: + enableBR: true // 设置为 true 时,启用备份和恢复功能。 + ... + ``` + +- 只支持使用 S3 协议的存储服务(例如 AWS S3,Minio 等)备份和恢复数据。 +- 集群中有足够的计算资源以恢复数据。 + +## 备份数据 + +### 备份说明 + +- NebulaGraph Operator 支持全量备份和增量备份。 +- 数据备份过程中,指定图空间中的 DDL 和 DML 语句将会阻塞,我们建议在业务低峰期进行操作,例如凌晨 2 点至 5 点。 +- 执行增量备份的集群和指定的上一次备份的集群需为同一个,并且和指定的上一次备份的(存储桶)路径需相同。 +- 确保每次增量备份距离上一次备份的时间小于一个`wal_ttl`的时间。 +- 不支持备份指定图空间数据。 + +### 全量备份 + +当备份数据至兼容 S3 协议的存储服务上时,需要创建一个备份任务(Job),它会将全量 NebulaGraph 数据备份到指定的存储位置。 + +全量备份任务(Job)的 YAML 示例如下: + +```yaml +apiVersion: batch/v1 +kind: Job +metadata: + name: nebula-full-backup +spec: + parallelism: 1 + ttlSecondsAfterFinished: 60 + template: + spec: + restartPolicy: OnFailure + containers: + - image: vesoft/br-ent:v{{br_ent.release}} + imagePullPolicy: Always + name: backup + command: + - /bin/sh + - -ecx + - exec /usr/local/bin/nebula-br backup full + - --meta $META_ADDRESS:9559 + - --storage s3://$BUCKET + - --s3.access_key $ACCESS_KEY + - --s3.secret_key $SECRET_KEY + - --s3.region $REGION + - --s3.endpoint https://s3.$REGION.amazonaws.com +``` + +### 增量备份 + +除了`spec.template.spec.containers[0].command`指定的执行命令和 Job 名称不同外,增量备份的 YAML 文件与全量备份的 YAML 文件相同。增量备份的 YAML 示例: + +```yaml +apiVersion: batch/v1 +kind: Job +metadata: + name: nebula-incr-backup +spec: + parallelism: 1 + ttlSecondsAfterFinished: 60 + template: + spec: + restartPolicy: OnFailure + containers: + - image: vesoft/br-ent:v{{br_ent.release}} + imagePullPolicy: Always + name: backup + command: + - /bin/sh + - -ecx + - exec /usr/local/bin/nebula-br backup incr + - --meta $META_ADDRESS:9559 + - --base $BACKUP_NAME + - --storage s3://$BUCKET + - --s3.access_key $ACCESS_KEY + - --s3.secret_key $SECRET_KEY + - --s3.region $REGION + - --s3.endpoint https://s3.$REGION.amazonaws.com +``` + +### 参数说明 + +主要参数说明如下: + +| 参数 |默认值| 说明 | +| ------------- | ---- | ---- | +| `spec.parallelism` |1 |并行执行的任务数。 | +| `spec.ttlSecondsAfterFinished` | 60 | 在任务完成后,保留任务信息的时间。 | +| `spec.template.spec.containers[0].image` | `vesoft/br-ent:{{br_ent.release}}`|NebulaGraph BR 企业版工具的镜像地址。 | +| `spec.template.spec.containers[0].command`| - | 备份数据至兼容 S3 协议存储服务的命令。
有关命令中选项的描述,参见[参数说明](../backup-and-restore/nebula-br-ent/3.backup-data.md#_12)。 | + + +有关 Job 的更多设置,参见 [Kubernetes Jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/)。 + +设置完备份任务(Job)的 YAML 文件后,执行以下命令启动备份任务: + +```bash +kubectl apply -f .yaml +``` + +数据备份成功后,会在指定的存储位置生成备份文件,例如`BACKUP_2023_02_12_10_04_16`。 + +## 恢复数据 + +### 恢复说明 + +- 数据恢复执行成功后,会创建一个新的集群,老的集群不会被删除,用户可自行决定是否删除老的集群。 +- 数据恢复会有一段时间的服务不可用,建议在业务低峰期进行操作。 + + + +### 恢复过程 + +当恢复备份在兼容 S3 协议服务上的数据时,需要创建一个 Secret,用于存储访问兼容 S3 协议的服务的凭证。然后创建一个恢复数据的资源对象(NebulaRestore),它会告诉 Operator 基于此资源对象定义的信息创建一个新的 NebulaGraph 集群,将备份数据恢复到新创建的集群中。 + +基于备份文件`BACKUP_2023_02_12_10_04_16`恢复数据的 YAML 示例: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: aws-s3-secret +type: Opaque +data: + access-key: QVNJQVE0WFlxxx + secret-key: ZFJ6OEdNcDdxenMwVGxxx +--- +apiVersion: apps.nebula-graph.io/v1alpha1 +kind: NebulaRestore +metadata: + name: restore1 +spec: + br: + clusterName: nebula + backupName: "BACKUP_2023_02_12_10_04_16" + concurrency: 5 + s3: + region: "us-west-2" + bucket: "nebula-br-test" + endpoint: "https://s3.us-west-2.amazonaws.com" + secretName: "aws-s3-secret" +``` + +### 参数说明 + +- Secret + + |参数|默认值|说明| + |:---|:---|:---| + |`metadata.name`|-|Secret 的名称。| + |`type`|`Opaque`|Secret 的类型。参见[Types of Secret](https://kubernetes.io/docs/concepts/configuration/secret/#secret-types)。| + |`data.access-key`|-|访问兼容 S3 协议的存储服务的 AccessKey。| + |`data.secret-key`|-|访问兼容 S3 协议的存储服务的 SecretKey。| + +- NebulaRestore + + |参数|默认值|说明| + |:---|:---|:---| + |`metadata.name`|-|资源对象 NebulaRestore 的名称。| + |`spec.br.clusterName`|-|备份集群的名称。| + |`spec.br.backupName`|-|备份文件的名称。基于这个备份文件恢复数据。| + |`spec.br.concurrency`|`5`|用来控制数据恢复时下载文件的并发数量。默认值`5`。| + |`spec.br.s3.region`|-| S3 存储桶所在的地理区域。| + |`spec.br.s3.bucket`|-|存储备份数据的 S3 存储桶路径。| + |`spec.br.s3.endpoint`|-|S3 存储桶的访问地址。| + |`spec.br.s3.secretName`|-|用于访问 S3 存储桶的凭证的 Secret 的名称。| + +设置完恢复数据的 YAML 文件后,执行以下命令启动恢复数据的任务: + +```bash +kubectl apply -f .yaml +``` + +执行以下命令查看 NebulaRestore 对象的状态。 + +```bash +kubectl get rt -w +``` + + diff --git a/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md b/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md index a5ae7f884f5..174ae62216c 100644 --- a/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md +++ b/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md @@ -8,7 +8,7 @@ NebulaGraph 集群中 Meta、Storage、Graph 服务都有各自的配置,其 `config`结构如下: -``` +```go Config map[string]string `json:"config,omitempty"` ``` @@ -57,10 +57,22 @@ Config map[string]string `json:"config,omitempty"` ... ``` + 如果需要为 Meta 服务和 Storage 服务配置`config`,则在`spec.metad.config`和`spec.storaged.config`中添加对应的配置项。 + 3. 执行`kubectl apply -f nebula_cluster.yaml`使上述更新生效。 在自定义参数`enable_authorize`和`auth_type`后,Graph 服务对应的 ConfigMap(`nebula-graphd`)中的配置将被覆盖。 + +## 在线修改集群配置 + +在线修改集群配置主要通过调用`HTTP`接口对集群的配置参数进行修改,而无需重启集群 Pod。 + +需要注意的是,只有当`config`中的配置项均为可在运行时动态修改的参数时,才能触发在线修改集群配置操作。如果`config`中的配置项包含不可动态修改的参数,那么集群配置将通过重启 Pod 的方式进行更新。 + +关于各个服务可动态修改的参数,分别参见 [Meta 服务配置参数](../../5.configurations-and-logs/1.configurations/2.meta-config.md)、[Storage 服务配置参数](../../5.configurations-and-logs/1.configurations/4.storage-config.md)、[Graph 服务配置参数](../../5.configurations-and-logs/1.configurations/3.graph-config.md)的配置参数表格中**是否支持运行时动态修改**一列。 + + ## 更多信息 -有关 Meta、Storage、Graph 服务的配置参数的详细介绍,参见[服务配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md)。 +有关 Meta、Storage、Graph 服务的配置参数的详细介绍,参见 [Meta 服务配置参数](../../5.configurations-and-logs/1.configurations/2.meta-config.md)、[Storage 服务配置参数](../../5.configurations-and-logs/1.configurations/4.storage-config.md)、[Graph 服务配置参数](../../5.configurations-and-logs/1.configurations/3.graph-config.md)。 \ No newline at end of file diff --git a/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.2.pv-reclaim.md b/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.2.pv-reclaim.md index ea03ebe9ec0..60a1b3be2ee 100644 --- a/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.2.pv-reclaim.md +++ b/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.2.pv-reclaim.md @@ -1,10 +1,9 @@ # 回收 PV -NebulaGraph Operator 使用持久化卷 PV(Persistent Volume)和持久化卷声明 PVC(Persistent Volume Claim)来存储持久化数据。如果用户不小心删除了一个 NebulaGraph 集群,PV 和 PVC 对象及其数据仍可保留,以确保数据安全。 +NebulaGraph Operator 使用持久化卷 PV(Persistent Volume)和持久化卷声明 PVC(Persistent Volume Claim)来存储持久化数据。如果用户不小心删除了一个 NebulaGraph 集群,默认 PV 和 PVC 对象及其数据仍可保留,以确保数据安全。 -用户可以在集群的 CR 实例的配置文件中通过参数`enablePVReclaim`定义是否回收 PV。 +用户也可以在集群实例的配置文件中通过设置参数`spec.enablePVReclaim`为`true`来定义在删除集群后自动删除 PVC 以释放数据。至于在删除 PVC 后是否删除 PV,用户需要自定义 PV 的回收策略。参见 [StorageClass 中设置 reclaimPolicy](https://kubernetes.io/docs/concepts/storage/storage-classes/#reclaim-policy)和 [PV Reclaiming](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#reclaiming) 了解 PV 回收策略。 -如果用户需要删除图空间并想保留相关数据,可以更新 NebulaGraph 集群,即设置`enablePVReclaim`为`true`。 ## 前提条件 @@ -102,3 +101,5 @@ NebulaGraph Operator 使用持久化卷 PV(Persistent Volume)和持久化卷 ``` 3. 执行`kubectl apply -f nebula_cluster.yaml`使上述更新生效。 + +当集群删除后,系统将会自动删除 PVC 以回收存储资源。是否删除 PV,取决于 PV 的回收策略。 diff --git a/docs-2.0/nebula-spark-connector.md b/docs-2.0/nebula-spark-connector.md index e387c5262dc..82eccd51dab 100644 --- a/docs-2.0/nebula-spark-connector.md +++ b/docs-2.0/nebula-spark-connector.md @@ -12,6 +12,28 @@ NebulaGraph Spark Connector 是一个 Spark 连接器,提供通过 Spark 标 更多使用说明请参见 [NebulaGraph Spark Connector](https://github.com/vesoft-inc/nebula-spark-connector/blob/{{sparkconnector.branch}}/README_CN.md)。 +## 版本兼容性 + +NebulaGraph Spark Connector、NebulaGraph 内核版本和 Spark 版本对应关系如下。 + +| Spark Connector 版本 | NebulaGraph 版本 | Spark 版本 | +|:----------|:-----------|:-------| +|nebula-spark-connector_3.0-3.0-SNAPSHOT.jar| nightly| 3.x| +|nebula-spark-connector_2.2-3.0-SNAPSHOT.jar| nightly| 2.2.x| +|nebula-spark-connector-3.0-SNAPSHOT.jar| nightly| 2.4.x| +|nebula-spark-connector_2.2-3.4.0.jar| 3.x| 2.2.x| +|nebula-spark-connector-3.4.0.jar| 3.x| 2.4.x| +|nebula-spark-connector_2.2-3.3.0.jar| 3.x| 2.2.x| +|nebula-spark-connector-3.3.0.jar| 3.x| 2.4.x| +|nebula-spark-connector-3.0.0.jar| 3.x| 2.4.x| +|nebula-spark-connector-2.6.1.jar| 2.6.0, 2.6.1| 2.4.x| +|nebula-spark-connector-2.6.0.jar| 2.6.0, 2.6.1| 2.4.x| +|nebula-spark-connector-2.5.1.jar| 2.5.0, 2.5.1| 2.4.x| +|nebula-spark-connector-2.5.0.jar| 2.5.0, 2.5.1| 2.4.x| +|nebula-spark-connector-2.1.0.jar| 2.0.0, 2.0.1| 2.4.x| +|nebula-spark-connector-2.0.1.jar| 2.0.0, 2.0.1| 2.4.x| +|nebula-spark-connector-2.0.0.jar| 2.0.0, 2.0.1| 2.4.x| + ## 适用场景 NebulaGraph Spark Connector 适用于以下场景: @@ -50,45 +72,37 @@ NebulaGraph Spark Connector {{sparkconnector.release}}版本特性如下: ### 编译打包 -!!! note - - 安装 Spark 2.4.x 或 2.2.x。 - 1. 克隆仓库`nebula-spark-connector`。 ```bash $ git clone -b {{sparkconnector.branch}} https://github.com/vesoft-inc/nebula-spark-connector.git ``` -2. 编译打包。不同版本的 Spark 步骤略有不同。 +2. 进入目录`nebula-spark-connector`。 + +3. 编译打包。不同版本的 Spark 命令略有不同。 - - Spark 2.4.x + !!! note - 1. 进入目录`nebula-spark-connector`。 - - ```bash - cd nebula-spark-connector/nebula-spark-connector - ``` + 需已安装对应版本 Spark。 - 2. 编译打包。 + - Spark 2.4 - ```bash - $ mvn clean package -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true - ``` + ```bash + $ mvn clean package -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true -pl nebula-spark-connector -am -Pscala-2.11 -Pspark-2.4 + ``` - - Spark 2.2.x + - Spark 2.2 - 1. 进入目录`nebula-spark-connector_2.2`。 - - ```bash - cd nebula-spark-connector/nebula-spark-connector_2.2 - ``` + ```bash + $ mvn clean package -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true -pl nebula-spark-connector_2.2 -am -Pscala-2.11 -Pspark-2.2 + ``` - 2. 编译打包。 + - Spark 3.x - ```bash - $ mvn clean package -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true - ``` + ```bash + $ mvn clean package -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true -pl nebula-spark-connector_3.0 -am -Pscala-2.12 -Pspark-3.0 + ``` 编译完成后,在目录的文件夹`target`下生成类似文件`nebula-spark-connector-{{sparkconnector.release}}-SHANPSHOT.jar`。 diff --git a/docs-2.0/nebula-studio/about-studio/st-ug-what-is-graph-studio.md b/docs-2.0/nebula-studio/about-studio/st-ug-what-is-graph-studio.md index 2b203e06354..16e45c83d6c 100644 --- a/docs-2.0/nebula-studio/about-studio/st-ug-what-is-graph-studio.md +++ b/docs-2.0/nebula-studio/about-studio/st-ug-what-is-graph-studio.md @@ -52,7 +52,8 @@ Studio 可以方便管理 NebulaGraph 图数据,具备以下功能: | NebulaGraph 版本 | Studio 版本 | | --- | --- | -| 3.3.0 | 3.5.0 | +| 3.4.0 ~ 3.4.1| 3.6.0、3.5.1、3.5.0 | +| 3.3.0 | 3.5.1、3.5.0 | | 3.0.0 ~ 3.2.x| 3.4.1、3.4.0| | 3.1.0 | 3.3.2 | | 3.0.0 | 3.2.x | diff --git a/docs-2.0/nebula-studio/deploy-connect/st-ug-deploy.md b/docs-2.0/nebula-studio/deploy-connect/st-ug-deploy.md index f6dc7e791b5..5263aa841e7 100644 --- a/docs-2.0/nebula-studio/deploy-connect/st-ug-deploy.md +++ b/docs-2.0/nebula-studio/deploy-connect/st-ug-deploy.md @@ -312,7 +312,7 @@ $ kill $(lsof -t -i :7001) # stop nebula-graph-studio |:---|:---|:---| | replicaCount | 0 | Deployment 的副本数。 | | image.nebulaStudio.name | vesoft/nebula-graph-studio | nebula-graph-studio 镜像的仓库地址。 | - | image.nebulaStudio.version | v3.2.0 | nebula-graph-studio 的版本。 | + | image.nebulaStudio.version | {{studio.tag}} | nebula-graph-studio 的版本。 | | service.type | ClusterIP | 服务类型,必须为`NodePort`,`ClusterIP`或`LoadBalancer`其中之一。 | | service.port | 7001 | nebula-graph-studio 中 web 服务的端口。 | | service.nodePort | 32701 | Kubernetes 集群外部访问 nebula-studio 的代理端口。 | diff --git a/docs-2.0/reuse/source_create_instance_aliyun.md b/docs-2.0/reuse/source_create_instance_aliyun.md index bc1454452bc..7af8ddfe77c 100644 --- a/docs-2.0/reuse/source_create_instance_aliyun.md +++ b/docs-2.0/reuse/source_create_instance_aliyun.md @@ -1,12 +1,6 @@ -在使用 NebulaGraph Cloud 阿里云版服务前,要先在阿里云控制台创建服务实例。 - -!!! caution - - 通过 NebulaGraph Cloud 阿里云版创建的 NebulaGraph、Nebula Dashboard 和 Nebula Explorer 等服务都是企业版,试用期 14 天。如需长期使用,发送邮件[申请正式许可证](mailto:inquiry@vesoft.com),之后[续期许可证](../../4.deployment-and-installation/deploy-license.md#nebula_graph_license_3)。 - ## 账号与权限 -- 准备[阿里云账号](https://help.aliyun.com/document_detail/324606.html)。 +- 准备[阿里云账号](http://c.nxw.so/bC0B2 "https://help.aliyun.com/document_detail/324606.html")。 - 如果使用 RAM 用户创建实例,需为其添加以下权限: - AliyunECSFullAccess @@ -17,43 +11,74 @@ ## 资源与费用 -NebulaGraph Cloud 阿里云版支持免费试用和付费使用。两种使用方式有不同的资源归属和费用消耗。 +NebulaGraph Cloud 阿里云版支持免费试用和付费使用,二者的详细说明如下表。 + +| 项目 | 免费试用版 | 付费版 | +| - | - | - | +| 云资源归属 | 阿里云官方账号 | 用户账号 | +| 云资源费用 | **阿里云承担** | 用户承担 | +| 云资源使用时长 | 30 天(不可续期) | 用户创建实例时选择 | +| NebulaGraph 许可证费用 | **试用期内免费** | 用户承担 | +| NebulaGraph 服务许可证有效期 | 30 天 | 用户创建实例时选择 | +| 许可证过期后数据是否保留 | 否(因云资源会同时到期) | 是 | +| 云资源到期后数据是否保留 | 否 | 否 | +| 数据盘快照费用 | **阿里云承担** | 用户承担(可关闭功能) | + +## 数据备份 + +在创建服务实例时,系统会默认开启数据盘自动快照备份,用于周期性备份 NebulaGraph 数据。 + +创建付费版服务实例前需[开通快照](https://help.aliyun.com/document_detail/108381.html)。免费试用实例使用的是阿里云官方账号下的资源,已开通快照,无需用户手动开通。 -付费版服务实例创建在用户的阿里云账号下,资源费用由用户承担。实例内 NebulaGraph 相关服务的许可证到期后,其中的数据仍然保留在用户的阿里云资源中,直到资源被用户删除。 +默认的快照备份策略为每天 00:00 创建快照。 -免费试用版服务实例使用的资源属于阿里云,资源费用由阿里云承担。实例内 NebulaGraph 相关服务的许可证到期后,其中的数据仍然保留在试用的阿里云资源中,直到资源过期或被用户删除。资源的试用时间为 30 天,到期后资源内保存的数据不保留。 +创建快照会产生费用,详情参见[快照计费](https://help.aliyun.com/document_detail/56159.htm)。 -!!! note +如需删除快照、修改或删除自动快照策略,参见[快照文档](https://help.aliyun.com/document_detail/108376.html)。 - 基础版套餐将所有 NebulaGraph 服务节点部署在同一台 ECS 服务器上。 +## 套餐版本 + +NebulaGraph Cloud 阿里云版支持如下套餐版本。 + +| 套餐版本 | 说明 | +| - | - | +| 基础版 | 将所有 NebulaGraph 服务节点部署在 1 台 ECS 服务器上。 | +| 标准版 | 将 Graph 服务和 Storage 服务分别部署在不同的 ECS 服务器上,每个服务都是单节点(1 台 ECS)。将 Explorer 等生态工具混合部署在 1 台 ECS 服务器上。 | +| 高可用版 | 将 Graph 服务和 Storage 服务分别部署在不同的 ECS 服务器上,每个服务都包含 3 节点(3 台 ECS)。将 Explorer 等生态工具混合部署在 1 台 ECS 服务器上。 | + +付费版和免费试用版服务实例支持的套餐版本有所不同,详情参见创建实例页面。 ## 创建付费版服务实例 -1. 登录阿里云计算巢[推荐服务](https://computenest.console.aliyun.com/user/cn-hangzhou/recommendService)页面,搜索 **NebulaGraph**。 +1. 登录[阿里云控制台](https://home.console.aliyun.com/home/dashboard/ProductAndService)。 -2. 在 **NebulaGraph 集群版**卡片上,单击**云市场购买**。 +2. 打开云市场的 [NebulaGraph 产品页](https://market.aliyun.com/products/56024006/cmgj00059955.html?#sku=yuncode5395500004)。 -3. 在云市场的 **NebulaGraph Enterprise** 产品页,选择**套餐版本**和**购买时长**(即 NebulaGraph 服务的许可证有效期),并单击**立即购买**。 +3. 选择**套餐版本**和**购买时长**(即 NebulaGraph 服务的许可证有效期),并单击**立即购买**。 !!! caution 当前云市场显示的部分价格并非实际售价,购买时需通过右侧的钉钉客服确认实际价格。 -4. 在**确认订单**页面,选择要创建实例的**地域**。 +4. 在**创建服务实例**页,保持**选择模板**处的选择不变。如需切换部署架构,可改变选中的选项,重新选择模板。 -5. 在**付费模式设置**区域,指定 ECS 服务器的付费方式。默认为**按量付费**。 + !!! note - - **按量付费**:按照计费周期计费,在每个结算周期生成账单并从账户中扣除相应费用。详情参见[按量付费](https://help.aliyun.com/document_detail/40653.html)。 + 改变模板会改变之前选择的套餐版本,软件费用(NebulaGraph 许可证费用)和创建服务实例需要的资源也会改变。 - - **包年包月**:先付费后使用。详情参见[包年包月](https://help.aliyun.com/document_detail/56220.html)。选择包年包月模式需要指定**购买时长周期**和**购买时长**。**购买时长周期**当前仅支持 **Month**,即按月购买。 +5. (可选)设置**服务实例名称**。默认值为服务实例 ID。 + +6. 选择要创建服务实例的**地域**。 -6. 在**套餐选择**区域,根据需要选择套餐版本。 +7. 在**付费模式设置**区域,指定 ECS 服务器的付费方式。默认为**按量付费**。 - + - **按量付费**:按照计费周期计费,在每个结算周期生成账单并从账户中扣除相应费用。详情参见[按量付费](https://help.aliyun.com/document_detail/40653.html)。 + + - **包年包月**:先付费后使用。详情参见[包年包月](https://help.aliyun.com/document_detail/56220.html)。选择包年包月模式需要指定**购买时长周期**和**购买时长**。**购买时长周期**当前仅支持 **Month**,即按月购买。 -7. 在 **NebulaGraph 配置**区域,完成数据盘和 ECS 服务器密码设置。 +8. 在 **NebulaGraph 配置**区域,完成数据盘和 ECS 服务器密码设置。 -8. 在**基础设施配置**区域,完成以下设置。 +9. 在**基础设施配置**区域,完成以下设置。 1. 选择**专有网络 VPC 实例 ID**。 @@ -65,56 +90,62 @@ NebulaGraph Cloud 阿里云版支持免费试用和付费使用。两种使用 如果下拉列表为空,先单击其右侧的**新建交换机**,完成交换机创建。 -9. 在**温馨提示**区域,选中**我同意告知服务商我的联系方式**,以便购买后发放许可证。 +10. 完成**权限确认**,并选中**我同意授权服务商(杭州悦数科技有限公司)获取上述权限以提供代运维服务**。 + +11. 在页面底部,单击**下一步:确认订单**。 + +12. 在**服务条款**区域,勾选**我已阅读并同意《商品在线协议》《云市场平台服务协议》《计算巢服务协议》**。 + +13. 在页面底部,单击**立即支付**。 -10. 在页面底部,单击**我已接受协议,前往支付**。 +14. 在**支付**页面,选择支付方式,之后单击页面底部的**支付**。 -11. 在**支付**页面,选择支付方式,之后单击页面底部的**支付**。 +15. 在**支付完成**页面,单击**管理控制台**。 -12. 在**支付完成**页面,单击**管理控制台**。 +16. 在**已购买的服务**页面,单击要创建的实例右侧的**立即进入计算巢部署或查看部署详情**。 -13. 在**已购买的服务**页面,单击要创建的实例右侧的**立即进入计算巢部署或查看部署详情**。 + !!! note -14. 在计算巢的**服务实例详情**页面,单击**基本信息**区域**状态**右侧的**部署**,并在弹出的对话框中单击**确定部署**。 + 如果已购买的服务列表中未显示要创建的实例,刷新页面。 -15. 监控实例状态,直到部署完成。平均部署耗时为 10 分钟。 +17. 在**服务实例详情**页查看实例的**状态**,确保状态为**部署中**。 + + 部署的平均耗时为 10 分钟。完成后实例的状态变为**已部署**。 ## 创建免费版试用版服务实例 !!! danger 免费试用实例不可在生产环境中使用。 -1. 登录阿里云计算巢[推荐服务](https://computenest.console.aliyun.com/user/cn-hangzhou/recommendService)页面,搜索 **NebulaGraph**。 +1. 登录阿里云计算巢[推荐服务](http://c.nxw.so/bC0C0 "https://computenest.console.aliyun.com/user/cn-hangzhou/recommendService")页面,搜索 **NebulaGraph**。 2. 在 **NebulaGraph 集群版**卡片上,单击**免费试用**。 3. 系统会为首次创建 NebulaGraph 服务实例的用户弹出申请对话框。在**申请权限**对话框中填写申请人信息。带有红色星号(*)的为必填项。 - 申请通过后才能继续执行以下步骤。 + !!! note + + 申请通过后需从第 1 步重新开始。 -4. 设置**服务实例名称**。 +4. (可选)设置**服务实例名称**。默认值为服务实例 ID。 5. 选择要创建实例的**地域**。 -6. 在**套餐选择**区域,根据需要选择套餐版本。 - - - -7. 在 **NebulaGraph 配置**区域,完成数据盘相关设置。 +6. 在 **NebulaGraph 配置**区域,完成数据盘和 ECS 服务器密码设置。 -8. 在**基础设施配置**区域,选择**交换机可用区**。 +7. 在**基础设施配置**区域,选择**交换机可用区**。 -9. 根据需要配置**标签和资源组**。详情参见[什么是资源管理](https://help.aliyun.com/document_detail/94475.html)。 +8. 完成**权限确认**,并选中**我同意授权服务商(杭州悦数科技有限公司)获取上述权限以提供代运维服务**。 -10. 完成**权限确认**,并选中**我同意授权服务商(杭州悦数科技有限公司)获取上述权限以提供代运维服务**。 +9. 在页面底部,单击**下一步:确认订单**。 -11. 在页面底部,选中**我已阅读并同意《计算巢服务协议》**,并单击**开始免费试用**。 +10. 在**服务条款**区域,勾选**我已阅读并同意《计算巢服务协议》**。 -12. 在**创建**对话框,完成信息确认并单击**确定**。 +11. 在页面底部,单击**开始免费试用**。 -13. 在**提交成功**页面,单击去列表查看。 +12. 在**提交成功**页面,单击**去列表查看**。 -14. 在实例列表中查看目标实例的**状态**,确保状态为**部署中**。 +13. 在实例列表中查看目标实例的**状态**,确保状态为**部署中**。 部署的平均耗时为 10 分钟。完成后实例的状态变为**已部署**。 @@ -124,4 +155,4 @@ Q:服务实例的状态显示为**部署失败**怎么处理? 1. 如果使用 RAM 账号创建的实例,确认为该账号授予了本文前提条件中指定的权限。 2. 如果权限符合要求,[删除](https://help.aliyun.com/document_detail/290837.html)创建失败的实例,尝试重新创建。 -3. 如果仍然创建失败,到 [NebulaGraph 论坛](https://discuss.nebula-graph.com.cn/)寻求帮助。 \ No newline at end of file +3. 如果仍然创建失败,到 [NebulaGraph 论坛](https://discuss.nebula-graph.com.cn/)寻求帮助。 diff --git a/mkdocs.yml b/mkdocs.yml index f6955d407cf..91982a9b099 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -5,7 +5,7 @@ site_url: https://docs.nebula-graph.com.cn/ repo_name: 'vesoft-inc/nebula' repo_url: 'https://github.com/vesoft-inc/nebula' docs_dir: docs-2.0 -copyright: Copyright © 2022 NebulaGraph - 浙ICP备20010487号 +copyright: Copyright © 2023 NebulaGraph - 浙ICP备20010487号 # modify when release: edit_uri: 'https://github.com/vesoft-inc/nebula-docs-cn/edit/master/docs-2.0/' @@ -75,27 +75,29 @@ plugins: # Exclude all files in a directory. The path starts with the directory name in docs-2.0, such as `20.appendix/*`. - nebula-flink/* - CHANGELOG.md - - nebula-cloud/* + # - nebula-cloud/* + - nebula-cloud.md + - nebula-cloud/nebula-cloud-on-azure/* - spark-connector/* - 4.deployment-and-installation/5.zone.md - 4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-latest.md - - # 仅发布包含企业版功能的文档版本时,注释以下页面 - # begin -# - 3.ngql-guide/6.functions-and-expressions/17.ES-function.md -# - 4.deployment-and-installation/deploy-license.md -# - 5.configurations-and-logs/2.log-management/audit-log.md -# - 7.data-security/1.authentication/4.ldap.md -# - graph-computing/0.deploy-controller-analytics.md -# - graph-computing/nebula-analytics.md -# - graph-computing/use-explorer.md -# - nebula-exchange/use-exchange/ex-ug-export-from-nebula.md -# - nebula-operator/8.custom-cluster-configurations/8.3.balance-data-when-scaling-storage.md -# - synchronization-and-migration/replication-between-clusters.md -# - 20.appendix/8.about-license/ -# - nebula-dashboard-ent/4.cluster-operator/operator/scale.md -# - 6.monitor-and-metrics/3.bbox - # end + # ent.begin + - 3.ngql-guide/6.functions-and-expressions/17.ES-function.md + - 4.deployment-and-installation/deploy-license.md + - 5.configurations-and-logs/2.log-management/audit-log.md + - 7.data-security/1.authentication/4.ldap.md + - graph-computing/0.deploy-controller-analytics.md + - graph-computing/nebula-analytics.md + - graph-computing/use-explorer.md + - nebula-exchange/use-exchange/ex-ug-export-from-nebula.md + - nebula-operator/8.custom-cluster-configurations/8.3.balance-data-when-scaling-storage.md + - nebula-operator/10.backup-restore-using-operator.md + - synchronization-and-migration/replication-between-clusters.md + - 20.appendix/8.about-license/ + - nebula-dashboard-ent/4.cluster-operator/operator/scale.md + - 6.monitor-and-metrics/3.bbox/ + - backup-and-restore/nebula-br-ent/ + # ent.end # comm.begin # comm.end @@ -107,7 +109,7 @@ plugins: # modify when release: - with-pdf: - copyright: 2022 vesoft Inc. + copyright: 2023 vesoft Inc. cover_subtitle: master author: 吴敏,周瑶,梁振亚,杨怡璇,黄凤仙 cover: true @@ -130,9 +132,7 @@ extra: # For conditional rendering # Valid options: enterprise, community, both # enterprise means this version is for the Enterprise only. And so on in a similar fashion - database_edition: community - # Modify doc_version to automatically update the parameters for releasing a new version - doc_version: master + database_edition: both # Language selector. alternate: - name: English @@ -149,121 +149,121 @@ extra: - icon: 'fontawesome/brands/github' link: 'https://github.com/vesoft-inc/nebula-docs-cn' nebula: - release: 3.4.0 + release: 3.4.1 nightly: nightly master: master base20: 2.0 base200: 2.0.0 - branch: release-3.3 - tag: v3.3.0 + branch: release-3.4 + tag: v3.4.1 studio: base111b: 1.1.1-beta base220: 2.2.1 base300: 3.0.0 - release: 3.5.0 - tag: v3.5.0 + release: 3.6.0 + tag: v3.6.0 explorer: - release: 3.2.0 - branch: release-3.2 - tag: v3.2.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 exchange_ent: - release: 3.0.0 - branch: v3.0.0 - tag: v3.0.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 exchange: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 importer: - release: 3.1.0 - branch: release-3.1 - tag: v3.1.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 algorithm: release: 3.0.0 branch: v3.0.0 tag: v3.0.0 plato: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 sparkconnector: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 flinkconnector: release: 3.3.0 branch: release-3.3 tag: v3.3.0 dockercompose: - release: 3.2.0 - branch: release-3.2 - tag: v3.2.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 dashboard: - release: 3.2.0 - tag: v3.2.0 + release: 3.4.0 + tag: v3.4.0 base100: 1.0.0 - branch: release-3.2 + branch: release-3.4 dashboard_ent: - release: 3.2.0 - tag: v3.2.0 - branch: release-3.2 + release: 3.4.1 + tag: v3.4.1 + branch: release-3.4 console: + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 + br: release: 3.3.0 branch: release-3.3 tag: v3.3.0 - br: - release: 0.6.1 - branch: master - tag: v0.6.1 br_ent: - release: 0.7.0 - tag: v0.7.0 + release: 3.4.0 + tag: v3.4.0 agent: - release: 0.2.0 - tag: v0.2.0 + release: 3.4.0 + tag: v3.4.0 cpp: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 java: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 python: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 go: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 bench: release: 1.2.0 branch: release-1.2 tag: v1.2.0 operator: - release: 1.3.0 - tag: v1.3.0 - branch: release-1.3 + release: 1.4.0 + tag: v1.4.0 + branch: release-1.4 upgrade_from: 3.0.0 - upgrade_to: 3.3.x + upgrade_to: 3.4.0 exporter: release: 3.3.0 branch: release-3.3 tag: v3.3.0 gateway: - release: 3.1.2 - branch: release-3.1 - tag: v3.1.2 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 bbox: - release: 3.3.0 - branch: release-3.3 - tag: v3.3.0 + release: 3.4.0 + branch: release-3.4 + tag: v3.4.0 cloud: azureRelease: 3.1.1 # Azure云兼容的最新内核版本 - aliyunRelease: 3.1.1 # 阿里云兼容的最新内核版本 + aliyunRelease: 3.4.0 # 阿里云兼容的最新内核版本 azureLatestRelease: 3.1.0 # 支持Azure云的最新文档版本 - aliyunLatestRelease: 3.1.0 # 支持阿里云的最新文档版本 + aliyunLatestRelease: 3.4.0 # 支持阿里云的最新文档版本 ent: ent_begin: #文档包含企业版时需补全该注释(),只包含社区版时只保留注释头( #文档包含企业版时需补全该注释(),只包含社区版时只保留注释尾(-->) @@ -506,6 +506,7 @@ nav: - 安装 BR: backup-and-restore/nebula-br/2.compile-br.md - 使用 BR 备份数据: backup-and-restore/nebula-br/3.br-backup-data.md - 使用 BR 恢复数据: backup-and-restore/nebula-br/4.br-restore-data.md +#ent - NebulaGraph BR(企业版): - BR(企业版)概述: backup-and-restore/nebula-br-ent/1.br-ent-overview.md - 安装 BR: backup-and-restore/nebula-br-ent/2.install-tools.md @@ -525,6 +526,7 @@ nav: - 系统建模: 8.service-tuning/3.system-design.md - 执行计划: 8.service-tuning/4.plan.md - 超级节点(稠密点): 8.service-tuning/super-node.md + - 启用 AutoFDO: 8.service-tuning/enable_autofdo_for_nebulagraph.md - 实践案例: 8.service-tuning/practice.md @@ -536,11 +538,16 @@ nav: - NebulaGraph Python: 14.client/5.nebula-python-client.md - NebulaGraph Go: 14.client/6.nebula-go-client.md - - NebulaGraph Cloud: nebula-cloud.md +# - NebulaGraph Cloud: nebula-cloud.md #ent -# - NebulaGraph Cloud: -# - 什么是 NebulaGraph Cloud: nebula-cloud/1.what-is-cloud.md + - NebulaGraph Cloud: + - 什么是 NebulaGraph Cloud: nebula-cloud/1.what-is-cloud.md + - Nebula Graph Cloud 阿里云版: + - 创建服务实例: nebula-cloud/nebula-cloud-on-alibabacloud/1.create-service-instance.md + - 使用服务实例: nebula-cloud/nebula-cloud-on-alibabacloud/2.use-cloud-services.md + - 扩缩容服务: nebula-cloud/nebula-cloud-on-alibabacloud/4.scaling-services.md + - 删除服务实例: nebula-cloud/nebula-cloud-on-alibabacloud/3.delete-service-instance.md # - NebulaGraph Cloud Azure版: # - 创建订阅: nebula-cloud/nebula-cloud-on-azure/2.how-to-create-subsciption.md # - 配置Solution: nebula-cloud/nebula-cloud-on-azure/3.how-to-set-solution.md @@ -553,10 +560,6 @@ nav: # - 价格: nebula-cloud/nebula-cloud-on-azure/6.pricing.md # - 用户服务条款: nebula-cloud/nebula-cloud-on-azure/7.terms-and-conditions.md # - 隐私政策条款: nebula-cloud/nebula-cloud-on-azure/8.privacy-policy.md -# - NebulaGraph Cloud 阿里云版: -# - 创建服务实例: nebula-cloud/nebula-cloud-on-alibabacloud/1.create-service-instance.md -# - 使用服务实例: nebula-cloud/nebula-cloud-on-alibabacloud/2.use-cloud-services.md -# - 删除服务实例: nebula-cloud/nebula-cloud-on-alibabacloud/3.delete-service-instance.md - NebulaGraph Studio: - 认识 NebulaGraph Studio: @@ -660,6 +663,7 @@ nav: - 工作流管理: nebula-explorer/workflow/3.workflow-management.md - 作业管理: nebula-explorer/workflow/4.jobs-management.md - 工作流 API: + - API 概览: nebula-explorer/workflow/workflow-api/workflow-api-overview.md - 新增作业: nebula-explorer/workflow/workflow-api/api-post-jobs.md - 获取所有作业列表: nebula-explorer/workflow/workflow-api/api-get-jobs.md - 获取指定工作流的作业列表: nebula-explorer/workflow/workflow-api/api-get-workflow-jobs.md @@ -706,16 +710,18 @@ nav: - 什么是 NebulaGraph Operator: nebula-operator/1.introduction-to-nebula-operator.md - 使用流程: nebula-operator/6.get-started-with-operator.md - 部署 NebulaGraph Operator: nebula-operator/2.deploy-nebula-operator.md - - 部署 NebulaGraph集群: + - 部署 NebulaGraph: - 使用 Kubectl 部署 NebulaGraph 集群: nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md - 使用 Helm 部署 NebulaGraph 集群: nebula-operator/3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md - - 配置 NebulaGraph 集群: + - 配置 NebulaGraph: - 自定义 NebulaGraph 集群的配置参数: nebula-operator/8.custom-cluster-configurations/8.1.custom-conf-parameter.md - 回收 PV: nebula-operator/8.custom-cluster-configurations/8.2.pv-reclaim.md #ent - 均衡扩容后的 Storage 数据: nebula-operator/8.custom-cluster-configurations/8.3.balance-data-when-scaling-storage.md - - 升级 NebulaGraph 集群: nebula-operator/9.upgrade-nebula-cluster.md - - 连接 NebulaGraph 数据库: nebula-operator/4.connect-to-nebula-graph-service.md + - 升级 NebulaGraph: nebula-operator/9.upgrade-nebula-cluster.md + - 连接 NebulaGraph: nebula-operator/4.connect-to-nebula-graph-service.md +#ent + - 备份与恢复: nebula-operator/10.backup-restore-using-operator.md - 故障自愈: nebula-operator/5.operator-failover.md - 常见问题: nebula-operator/7.operator-faq.md @@ -752,4 +758,4 @@ nav: - 思维导图: 20.appendix/mind-map.md - 错误码: 20.appendix/error-code.md - - PDF: ./pdf/NebulaGraph-CN.pdf +# - PDF: ./pdf/NebulaGraph-CN.pdf