diff --git a/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md b/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md index 301020187b..a0ae138f62 100644 --- a/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md +++ b/docs-2.0/1.introduction/3.nebula-graph-architecture/4.storage-service.md @@ -247,16 +247,16 @@ leader 切换对于负载均衡至关重要,当把某个分片从一台机器 为了避免脑裂,当一个 Raft group 的成员发生变化时,需要有一个中间状态,该状态下新旧 group 的多数派需要有重叠的部分,这样就防止了新的 group 或旧的 group 单方面做出决定。为了更加简化,Diego Ongaro 在自己的博士论文中提出每次只增减一个 peer 的方式,以保证新旧 group 的多数派总是有重叠。NebulaGraph 也采用了这个方式,只不过增加成员和移除成员的实现有所区别。具体实现方式请参见 Raft Part class 里 addPeer/removePeer 的实现。 - +---> ## 与 HDFS 的区别 diff --git a/docs-2.0/20.appendix/0.FAQ.md b/docs-2.0/20.appendix/0.FAQ.md index 1f10081af1..a96ae9735a 100644 --- a/docs-2.0/20.appendix/0.FAQ.md +++ b/docs-2.0/20.appendix/0.FAQ.md @@ -525,7 +525,7 @@ dmp 文件是错误报告文件,详细记录了进程退出的信息,可以 ### 防火墙中需要开放哪些端口? -如果没有修改过[配置文件](../5.configurations-and-logs/1.configurations/1.configurations.md) 中预设的端口,请在防火墙中开放如下端口: +如果没有修改过[配置文件](../5.configurations-and-logs/1.configurations/1.configurations.md)中预设的端口,请在防火墙中开放如下端口: |服务类型|端口| |-|-| @@ -535,7 +535,38 @@ dmp 文件是错误报告文件,详细记录了进程退出的信息,可以 如果修改过配置文件中预设的端口,请找出实际使用的端口并在防火墙中开放它们。 -周边工具各自使用不用的端口,请参考各工具文档。 + +周边工具各自使用不同的端口。以下是 NebulaGraph 内核及周边工具使用的默认端口信息: + +| 序号 | 所属产品/服务 | 类型 | 默认端口 | 说明 | +| :--- | :--------------------- | :--- | :---------------------------- | :----------------------------------------------------------- | +| 1 | NebulaGraph | TCP | 9669 | Graph 服务的 RPC 守护进程监听端口(通常用于客户端连接Graph服务)。 | +| 2 | NebulaGraph | TCP | 19669 | Graph 服务的 HTTP 端口。 | +| 3 | NebulaGraph | TCP | 19670 | Graph 服务的 HTTP/2 端口。(3.x 后已弃用该端口) | +| 4 | NebulaGraph | TCP | 9559 | Meta 服务的 RPC 守护进程监听端口。(通常由 Graph 服务和 Storage 服务发起请求,用于获取和更新图数据库的元数据信息。 | +| 5 | NebulaGraph | TCP | 9560 | Meta 服务之间的 Raft 通信端口。 | +| 6 | NebulaGraph | TCP | 19559 | Meta 服务的 HTTP 端口。 | +| 7 | NebulaGraph | TCP | 19560 | Meta 服务的 HTTP/2 端口。(3.x 后已弃用该端口) | +| 8 | NebulaGraph | TCP | 9777 | Storage 服务中,Drainer 服务占用端口(仅在企业版集群中暴露)。 | +| 9 | NebulaGraph | TCP | 9778 | Storage 服务中,Admin 服务占用端口。 | +| 10 | NebulaGraph | TCP | 9779 | Storage 服务的 RPC 守护进程监听端口。(通常由 Graph 服务发起请求,用于执行数据存储相关的操作,例如读取、写入或删除数据。) | +| 11 | NebulaGraph | TCP | 9780 | Storage 服务之间的 Raft 通信端口。 | +| 12 | NebulaGraph | TCP | 19779 | Storage 服务的 HTTP 端口。 | +| 13 | NebulaGraph | TCP | 19780 | Storage 服务的 HTTP/2 端口。(3.x 后已弃用该端口) | +| 14 | NebulaGraph | TCP | 8888 | 备份和恢复功能的 Agent 服务端口。Agent 是集群中每台机器的一个守护进程,用于启停 NebulaGraph 服务和上传、下载备份文件。 | +| 15 | NebulaGraph | TCP | 9789、9790、9788 | 全文索引中 Raft Listener 的端口,从 Storage 服务读取数据,然后将它们写入 Elasticsearch 集群。
也是集群间数据同步中 Storage Listener 的端口。用于同步主集群的 Storage 数据。端口 9790、9788 由端口 9789 加一减一后自动生成。 | +| 16 | NebulaGraph | TCP | 9200 | NebulaGraph 使用该端口与 Elasticsearch 进行 HTTP 通信,以执行全文搜索查询和管理全文索引。 | +| 17 | NebulaGraph | TCP | 9569、9570、9568| 集群间数据同步功能中 Meta Listener 的端口,用于同步主集群的 Meta 数据。端口 9570、9568 由端口 9569 加一减一后自动生成。 | +| 18 | NebulaGraph | TCP | 9889、9890、9888 | 集群间数据同步功能中 Drainer 服务端口。用于同步 Storage、Meta 数据给从集群。端口 9890、9888 由端口 9889 加一减一后自动生成。| +| 19 | NebulaGraph Studio | TCP | 7001 | Studio 提供 Web 服务占用端口。 | +| 20 | NebulaGraph Dashboard | TCP | 8090 | Nebula HTTP Gateway 依赖服务端口。为集群服务提供 HTTP 接口,执行 nGQL 语句与 NebulaGraph 数据库进行交互。 | +| 21 | NebulaGraph Dashboard | TCP | 9200 | Nebula Stats Exporter 依赖服务端口。收集集群的性能指标,包括服务 IP 地址、版本和监控指标(例如查询数量、查询延迟、心跳延迟 等)。 | +| 22 | NebulaGraph Dashboard | TCP | 9100 | Node Exporter 依赖服务端口。收集集群中机器的资源信息,包括 CPU、内存、负载、磁盘和流量。 | +| 23 | NebulaGraph Dashboard | TCP | 9090 | Prometheus 服务的端口。存储监控数据的时间序列数据库。 | +| 24 | NebulaGraph Dashboard | TCP | 7003 | Dashboard 社区版 提供 Web 服务占用端口。 | +| 25 | NebulaGraph Dashboard | TCP | 7005 | Dashboard 企业版 提供 Web 服务占用端口。 | +| 26 | NebulaGraph Dashboard | TCP | 9093 | Alertmanager 服务的端口。接收 Prometheus 告警,发送告警通知给 Dashboard。 | +| 27 | NebulaGraph Explorer | TCP | 7002 | Explorer 提供的 Web 服务占用端口。 | ### 如何测试端口是否已开放? 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 265a91fc1b..27e5a43340 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,12 @@ # NebulaGraph Dashboard 企业版更新说明 +## 企业版 v3.4.2 + +- 优化 + + - 支持在备份恢复页面查看数据备份恢复的进度。 + - 内置 NebulaGraph 企业版 v3.4.1 安装包。 + ## 企业版 v3.4.1 - 缺陷修复 @@ -44,4 +51,4 @@ - 修复服务监控的总览页面中选择监控时间范围不生效的问题。 - 修复缩容时删除空节点没有删除对应 NebulaGraph 文件的问题。 - 修复切换诊断报告语言时,同时切换了全局语言的问题。 - - 修复某个导入集群任务阻塞导致其他导入任务一直处于等待状态的问题。 \ No newline at end of file + - 修复某个导入集群任务阻塞导致其他导入任务一直处于等待状态的问题。 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 56a0f5eaed..cb7642a0ac 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 @@ -2,7 +2,7 @@ ## 缺陷修复 -- 修复参数表达式 encode 到存储层执行导致崩溃的问题。 +- 修复编码参数表达式并在存储中求值导致的崩溃问题。 - 修复一些列表函数的崩溃问题。 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 652284b6f6..5177e91323 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 @@ -56,6 +56,7 @@ DISTINCT DOUBLE DOWNLOAD DROP +DURATION EDGE EDGES EXISTS diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md index 135221d5c4..7c527f42b8 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md @@ -10,9 +10,6 @@ - 确保新增的属性名不与已存在或被删除的属性名同名,否则新增属性会失败。 -- 允许增加`FIXED_STRING`和`INT`类型的长度。 -- 允许`FIXED_STRING`类型转换为`STRING`类型、`FLOAT`类型转换为`DOUBLE`类型。 - ## 语法 ```ngql @@ -35,18 +32,22 @@ ttl_definition: - 可以在一个`ALTER TAG`语句中使用多个`ADD`、`DROP`和`CHANGE`子句,子句之间用英文逗号(,)分隔。 - 当使用`ADD`或`CHANGE`指定属性值为`NOT NULL`时,必需为该属性指定默认值,即定义`DEFAULT`的值。 + +- 当使用`CHANGE`修改属性的数据类型时: + + - 仅允许修改`FIXED_STRING`和`INT`类型的长度为更大的长度,不允许减少长度。 + - 仅允许修改`FIXED_STRING`类型为`STRING`类型、修改`FLOAT`类型为`DOUBLE`类型。 ## 示例 ```ngql nebula> CREATE TAG IF NOT EXISTS t1 (p1 string, p2 int); -nebula> ALTER TAG t1 ADD (p3 int, p4 string); +nebula> ALTER TAG t1 ADD (p3 int32, p4 fixed_string(10)); nebula> ALTER TAG t1 TTL_DURATION = 2, TTL_COL = "p2"; nebula> ALTER TAG t1 COMMENT = 'test1'; nebula> ALTER TAG t1 ADD (p5 double NOT NULL DEFAULT 0.4 COMMENT 'p5') COMMENT='test2'; -// 修改 TAG `t1` 的 `p3` 属性为 INT8 类型 -nebula> ALTER TAG t1 CHANGE (p3 int8, p4 string); -[ERROR(-1005)]: Unsupported! +// 将 TAG t1 的 p3 属性类型从 INT32 改为 INT64,p4 属性类型从 FIXED_STRING(10) 改为 STRING。 +nebula> ALTER TAG t1 CHANGE (p3 int64, p4 string); ``` ## 修改 Tag 说明 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 e05720dc24..19c5a24031 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 @@ -33,7 +33,7 @@ INSERT EDGE [IF NOT EXISTS] ( ) VALUES - `dst_vid`:目的点 ID,表示边的终点。 -- `rank`:可选项。边的 rank 值。默认值为`0`。 +- `rank`:可选项。边的 rank 值。数据类型为`int`。默认值为`0`。 !!! compatibility "openCypher 兼容性" @@ -97,6 +97,6 @@ nebula> FETCH PROP ON e2 "14"->"15"@1 YIELD edge AS e; !!! Note * NebulaGraph {{ nebula.release }} 允许存在悬挂边(Dangling edge)。因此可以在起点或者终点存在前,先写边;此时就可以通过 `._src`或`._dst`获取到(尚未写入的)点 VID(不建议这样使用)。 - * 目前还不能保证操作的原子性,如果失败请重试,否则会发生部分写入。此时读取该数据的行为是未定义的。 + * 目前还不能保证操作的原子性,如果失败请重试,否则会发生部分写入。此时读取该数据的行为是未定义的。例如写入操作涉及到多个机器时,可能会出现插入单个边的正反向边只写入成功一个,或者插入多个边时只写入成功一部分,此时会返回报错,请重新执行命令。 * 并发写入同一条边会报`edge conflict`错误,可稍后重试。 * `边的 INSERT 速度`大约是点的 INSERT 速度一半。原因是 INSERT 边会对应 storaged 的两个 INSERT,`INSERT 点`对应 storaged 的一个 INSERT。 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 e3648de9de..d7aa10ac63 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 @@ -23,7 +23,7 @@ SET | `ON ` | 是 | 指定 Edge type。要修改的属性必须在这个 Edge type 内。 | `ON serve` | | `` | 是 | 指定边的起始点 ID。 | `"player100"` | | `` | 是 | 指定边的目的点 ID。 | `"team204"` | -| `` | 否 | 指定边的 rank 值。 | `10` | +| `` | 否 | 指定边的 rank 值。数据类型为`int`。 | `10` | | `SET ` | 是 | 指定如何修改属性值。| `SET start_year = start_year +1` | | `WHEN ` | 否 | 指定过滤条件。 | `WHEN end_year < 2010` | |`YIELD `|否| 指定语句的输出格式。 | `YIELD start_year AS Start_Year` | diff --git a/docs-2.0/3.ngql-guide/7.general-query-statements/6.show/17.show-sessions.md b/docs-2.0/3.ngql-guide/7.general-query-statements/6.show/17.show-sessions.md index d33599cebd..0e5ea3c92d 100644 --- a/docs-2.0/3.ngql-guide/7.general-query-statements/6.show/17.show-sessions.md +++ b/docs-2.0/3.ngql-guide/7.general-query-statements/6.show/17.show-sessions.md @@ -26,19 +26,19 @@ nebula> SHOW SESSIONS; +------------------+----------+--------------------+----------------------------+----------------------------+------------------+----------+--------------------+ | SessionId | UserName | SpaceName | CreateTime | UpdateTime | GraphAddr | Timezone | ClientIp | +------------------+----------+--------------------+----------------------------+----------------------------+------------------+----------+--------------------+ -| 1651220858102296 | "root" | "basketballplayer" | 2022-04-29T08:27:38.102296 | 2022-04-29T08:50:46.282921 | "127.0.0.1:9669" | 0 | "::ffff:127.0.0.1" | -| 1651199330300991 | "root" | "basketballplayer" | 2022-04-29T02:28:50.300991 | 2022-04-29T08:16:28.339038 | "127.0.0.1:9669" | 0 | "::ffff:127.0.0.1" | -| 1651112899847744 | "root" | "basketballplayer" | 2022-04-28T02:28:19.847744 | 2022-04-28T08:17:44.470210 | "127.0.0.1:9669" | 0 | "::ffff:127.0.0.1" | -| 1651041092662100 | "root" | "basketballplayer" | 2022-04-27T06:31:32.662100 | 2022-04-27T07:01:25.200978 | "127.0.0.1:9669" | 0 | "::ffff:127.0.0.1" | -| 1650959429593975 | "root" | "basketballplayer" | 2022-04-26T07:50:29.593975 | 2022-04-26T07:51:47.184810 | "127.0.0.1:9669" | 0 | "::ffff:127.0.0.1" | -| 1650958897679595 | "root" | "" | 2022-04-26T07:41:37.679595 | 2022-04-26T07:41:37.683802 | "127.0.0.1:9669" | 0 | "::ffff:127.0.0.1" | +| 1651220858102296 | "root" | "basketballplayer" | 2022-04-29T08:27:38.102296 | 2022-04-29T08:50:46.282921 | "127.0.0.1:9669" | 0 | "127.0.0.1" | +| 1651199330300991 | "root" | "basketballplayer" | 2022-04-29T02:28:50.300991 | 2022-04-29T08:16:28.339038 | "127.0.0.1:9669" | 0 | "127.0.0.1" | +| 1651112899847744 | "root" | "basketballplayer" | 2022-04-28T02:28:19.847744 | 2022-04-28T08:17:44.470210 | "127.0.0.1:9669" | 0 | "127.0.0.1" | +| 1651041092662100 | "root" | "basketballplayer" | 2022-04-27T06:31:32.662100 | 2022-04-27T07:01:25.200978 | "127.0.0.1:9669" | 0 | "127.0.0.1" | +| 1650959429593975 | "root" | "basketballplayer" | 2022-04-26T07:50:29.593975 | 2022-04-26T07:51:47.184810 | "127.0.0.1:9669" | 0 | "127.0.0.1" | +| 1650958897679595 | "root" | "" | 2022-04-26T07:41:37.679595 | 2022-04-26T07:41:37.683802 | "127.0.0.1:9669" | 0 | "127.0.0.1" | +------------------+----------+--------------------+----------------------------+----------------------------+------------------+----------+--------------------+ nebula> SHOW SESSION 1635254859271703; +------------------+----------+--------------------+----------------------------+----------------------------+------------------+----------+--------------------+ | SessionId | UserName | SpaceName | CreateTime | UpdateTime | GraphAddr | Timezone | ClientIp | +------------------+----------+--------------------+----------------------------+----------------------------+------------------+----------+--------------------+ -| 1651220858102296 | "root" | "basketballplayer" | 2022-04-29T08:27:38.102296 | 2022-04-29T08:50:54.254384 | "127.0.0.1:9669" | 0 | "::ffff:127.0.0.1" | +| 1651220858102296 | "root" | "basketballplayer" | 2022-04-29T08:27:38.102296 | 2022-04-29T08:50:54.254384 | "127.0.0.1:9669" | 0 | "127.0.0.1" | +------------------+----------+--------------------+----------------------------+----------------------------+------------------+----------+--------------------+ ``` diff --git a/docs-2.0/3.ngql-guide/8.clauses-and-options/order-by.md b/docs-2.0/3.ngql-guide/8.clauses-and-options/order-by.md index 7eec878210..193f6dfecf 100644 --- a/docs-2.0/3.ngql-guide/8.clauses-and-options/order-by.md +++ b/docs-2.0/3.ngql-guide/8.clauses-and-options/order-by.md @@ -15,7 +15,7 @@ ```ngql -ORDER BY [ASC | DESC] [, [ASC | DESC] ...]; +| ORDER BY [ASC | DESC] [, [ASC | DESC] ...]; ``` !!! compatibility diff --git a/docs-2.0/3.ngql-guide/8.clauses-and-options/return.md b/docs-2.0/3.ngql-guide/8.clauses-and-options/return.md index 61f1241845..22c617b04e 100644 --- a/docs-2.0/3.ngql-guide/8.clauses-and-options/return.md +++ b/docs-2.0/3.ngql-guide/8.clauses-and-options/return.md @@ -129,9 +129,10 @@ nebula> MATCH (v:player{name:"Tim Duncan"}) \ ## 返回属性 -使用语法`{|}.`返回点或边的属性。 +使用语法`..`返回点的属性;使用语法`.`返回边的属性。 ```ngql +// 返回点的属性 nebula> MATCH (v:player) \ RETURN v.player.name, v.player.age \ LIMIT 3; @@ -144,6 +145,20 @@ nebula> MATCH (v:player) \ +------------------+--------------+ ``` +```ngql +// 返回边的属性 +nebula> MATCH (v:player{name:"Tim Duncan"})-[e]->() \ + RETURN e.start_year, e.degree \ ++--------------+----------+ +| e.start_year | e.degree | ++--------------+----------+ +| __NULL__ | 95 | +| __NULL__ | 95 | +| 1997 | __NULL__ | ++--------------+----------+ +``` + + 使用`properties()`函数返回点或边的所有属性。 ```ngql diff --git a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md index 9fc9049c9a..a732d5ee01 100644 --- a/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md +++ b/docs-2.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md @@ -42,9 +42,10 @@ 3. 执行如下命令启动 NebulaGraph 服务。 - !!! Note + !!! note - 如果长期未内核更新镜像,请先更新 [NebulaGraph 镜像](#nebula_graph_docker)和 [NebulaGraph Console 镜像](#nebula_console)。 + - 如果长期未内核更新镜像,请先更新 [NebulaGraph 镜像](#nebulagraph_docker)和 [NebulaGraph Console 镜像](#nebulagraph_console)。 + - 执行命令后的返回结果因安装目录不同而不同。 ```bash [nebula-docker-compose]$ docker-compose up -d 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 similarity index 100% rename from docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md rename to docs-2.0/4.deployment-and-installation/3.upgrade-nebula-graph/_upgrade-nebula-from-300-to-latest.md 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 3fdbd0f63d..61fb1d09e7 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 @@ -1,10 +1,15 @@ -# 升级企业版 NebulaGraph 3.x 至 3.4.0 +# 升级企业版 NebulaGraph 3.x 至 {{nebula.release}} -本文以企业版 NebulaGraph 3.1.0 为例,介绍如何升级至 3.4.0。 +本文以企业版 NebulaGraph 3.1.0 为例,介绍如何升级 v3.x 至 v{{nebula.release}}。 ## 升级说明 -- 此升级操作仅适用于升级企业版 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/)。 +- 此升级操作仅适用于升级企业版 NebulaGraph 3.x(x < 4)至 {{nebula.release}}。对于升级 3.4.0 及以上版本至 {{nebula.release}},可以直接替换二进制文件进行升级。具体操作请参见[升级 NebulaGraph 至 {{nebula.release}}](https://docs.nebula-graph.com.cn/{{nebula.release}}/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest/)。 + + + !!! note + + 如果您的企业版 NebulaGraph 版本低于 3.0.0,请先升级到企业版 3.1.0 再升级到 {{nebula.release}}。具体操作请参见[升级 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 地址必须与原集群相同。 @@ -18,7 +23,7 @@ ## 升级步骤 -1. [联系我们获取](https://www.nebula-graph.com.cn/contact)企业版 NebulaGraph v3.4.0 的安装包并安装。 +1. [联系我们获取](https://www.nebula-graph.com.cn/contact)企业版 NebulaGraph v{{nebula.release}} 的安装包并安装。 !!! note @@ -26,12 +31,12 @@ !!! caution - 请确保 3.4.0 集群的 Meta 服务和 Storage 服务的配置文件中的`--data_path`参数设置的存储路径数量与 3.x 集群的配置文件中的`--data_path`参数配置的路径数量相同。否则,升级后的集群无法启动。 + 请确保 {{nebula.release}} 集群的 Meta 服务和 Storage 服务的配置文件中的`--data_path`参数设置的存储路径数量与 3.x 集群的配置文件中的`--data_path`参数配置的路径数量相同。否则,升级后的集群无法启动。 2. 停止企业版 NebulaGraph v3.x 服务。详情请参见[管理 NebulaGraph 服务](../../2.quick-start/3.quick-start-on-premise/5.start-stop-service.md)。 运行命令后可继续运行`nebula.service status all`命令以确认所有服务都已停止。 -3. 在企业版 NebulaGraph v3.4.0 的安装目录下,分别执行以下命令以升级 Storage 和 Meta 服务。 +3. 在企业版 NebulaGraph v{{nebula.release}} 的安装目录下,分别执行以下命令以升级 Storage 和 Meta 服务。 - 升级 Storage 服务: @@ -82,11 +87,11 @@ 如果有多个源 Meta 数据目录,请指定不同的源 Meta 数据目录和目标 Meta 数据目录并分别执行命令。 - 服务升级完成后,会在 v3.4.0 的安装目录下生成`data`目录,其中包含升级后的数据文件。 + 服务升级完成后,会在 v{{nebula.release}} 的安装目录下生成`data`目录,其中包含升级后的数据文件。 -4. 上传 License 文件至 v3.4.0 的安装目录下的`share/resources`内。 +4. 上传 License 文件至 v{{nebula.release}} 的安装目录下的`share/resources`内。 -5. 启动和连接企业版 NebulaGraph v3.4.0 服务后,验证数据是否正确。参考命令如下: +5. 启动和连接企业版 NebulaGraph v{{nebula.release}} 服务后,验证数据是否正确。参考命令如下: ``` nebula> SHOW HOSTS; 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 adb323a274..dfa24f57ce 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 @@ -1,10 +1,19 @@ -# 升级 NebulaGraph 2.x 至 {{nebula.release}} 版本 +# 升级 NebulaGraph 至 {{nebula.release}} 版本 -本文以 NebulaGraph 2.6.1 版本升级到 {{nebula.release}} 版本为例,介绍 NebulaGraph 2.x 版本升级到 3.x 版本的方法。 +本文以 NebulaGraph 2.6.1 版本升级到 {{nebula.release}} 版本为例,介绍 NebulaGraph 2.x、3.x 版本升级到 {{nebula.release}} 版本的方法。 + + + ## 适用版本 -本文适用于将 NebulaGraph 从 2.5.0 及之后的 2.x 版本升级到 {{nebula.release}} 版本。不适用于 2.5.0 之前的历史版本(含 1.x 版本)。如需升级历史版本,将其根据最新的 2.x 版本文档升级到 2.5 版本,然后根据本文的说明升级到 {{nebula.release}} 版本。 +本文适用于将 NebulaGraph 从 2.5.0 及之后的 2.x、3.x 版本升级到 {{nebula.release}} 版本。不适用于 2.5.0 之前的历史版本(含 1.x 版本)。如需升级历史版本,将其根据最新的 2.x 版本文档升级到 2.5 版本,然后根据本文的说明升级到 {{nebula.release}} 版本。 + + !!! caution @@ -63,10 +72,11 @@ ## 升级准备 -- 根据操作系统和架构下载 NebulaGraph {{nebula.release}} 版本的 TAR 文件并解压,升级过程中需要其中的二进制文件。TAR 包下载地址参见 [Download 页面](https://nebula-graph.io/download/)。 +- 根据操作系统和架构下载 NebulaGraph {{nebula.release}} 版本的包文件并解压,升级过程中需要其中的二进制文件。下载地址参见 [Download 页面](https://nebula-graph.io/download/)。 !!! note - 编译源码或者下载RPM/DEB包也可以获取新版二进制文件。 + + 编译源码或者下载 RPM/DEB、TAR 包都可以获取新版二进制文件。 - 根据 Storage 和 Meta 服务配置中`data_path`参数的值找到数据文件的位置,并备份数据。默认路径为`nebula/data/storage`和`nebula/data/meta`。 @@ -92,16 +102,21 @@ `storaged` 进程 flush 数据要等待约 1 分钟。运行命令后可继续运行`nebula.service status all`命令以确认所有服务都已停止。启动和停止服务的详细说明参见[管理服务](../manage-service.md)。 - !!! Note + !!! note 如果超过 20 分钟不能停止服务,放弃本次升级,在[论坛](https://discuss.nebula-graph.com.cn/)或 [GitHub](https://github.com/vesoft-inc/nebula/issues) 提问。 -2. 在**升级准备**中解压 TAR 包的目的路径下,用此处`bin`目录中的新版二进制文件替换 NebulaGraph 安装路径下`bin`目录中的旧版二进制文件。 + !!! caution + + 从 3.0.0 开始,支持插入无 Tag 的点。如果用户需要保留无 Tag 的点,在集群内所有 Graph 服务的配置文件(`nebula-graphd.conf`)中新增`--graph_use_vertex_key=true`;在所有 Storage 服务的配置文件(`nebula-storaged.conf`)中新增`--use_vertex_key=true`。 + +2. 在**升级准备**中下载的包的目的路径下,用此处`bin`目录中的新版二进制文件替换 NebulaGraph 安装路径下`bin`目录中的旧版二进制文件。 !!! note 每台部署了 NebulaGraph 服务的机器上都要更新相应服务的二进制文件。 3. 编辑所有 Graph 服务的配置文件,修改以下参数以适应新版本的取值范围。如参数值已在规定范围内,忽略该步骤。 + - 为`session_idle_timeout_secs`参数设置一个在 [1,604800] 区间的值,推荐值为 28800。 - 为`client_idle_timeout_secs`参数设置一个在 [1,604800] 区间的值,推荐值为 28800。 diff --git a/docs-2.0/4.deployment-and-installation/deploy-license.md b/docs-2.0/4.deployment-and-installation/deploy-license.md index 6ca1850367..1498c235e3 100644 --- a/docs-2.0/4.deployment-and-installation/deploy-license.md +++ b/docs-2.0/4.deployment-and-installation/deploy-license.md @@ -88,10 +88,6 @@ License 文件包含生效时间、过期时间等信息。说明如下。 2. 在所有包含 Meta 服务的机器上,路径为每个 Meta 服务安装目录的`share/resources/`内,使用新的 License 文件`nebula.license`替换旧的 License 文件。 - !!! note - - 建议使用`cp`、`scp`命令替换 License 文件或使用 vi 等工具编辑原文件的内容实现替换。如果使用`mv`命令,替换后需要重启所有 Meta 服务器。 - 3. 重启 Storage 和 Graph 服务。关于重启操作,参见[启动服务](manage-service.md)。如果用户的 License 的过期时间在到期后的缓冲期内(默认 14 天),则无需重启 Storage 和 Graph 服务。 !!! note diff --git a/docs-2.0/6.monitor-and-metrics/3.bbox/3.1.bbox.md b/docs-2.0/6.monitor-and-metrics/3.bbox/3.1.bbox.md index fd0a9a938d..73add898ae 100644 --- a/docs-2.0/6.monitor-and-metrics/3.bbox/3.1.bbox.md +++ b/docs-2.0/6.monitor-and-metrics/3.bbox/3.1.bbox.md @@ -8,7 +8,7 @@ NebulaGraph 黑匣子功能定期收集和归档操作系统和服务指标的 ## 功能说明 -黑匣子在服务器后台以进程运行并收集指标数据,目前仅收集操作系统运行时的一些性能指标(例如,CPU/Memory/Network IO 等相关指标),在未来,我们将支持收集服务指标。关于指标说明,参见[PROC](https://man7.org/linux/man-pages/man5/proc.5.html)。 +黑匣子在服务器后台以进程运行并收集指标数据,目前仅收集操作系统运行时的一些性能指标(例如,CPU/Memory/Network IO 等相关指标),在未来,我们将支持收集服务指标。关于指标说明,参见 [PROC](https://man7.org/linux/man-pages/man5/proc.5.html)。 ## 开启黑匣子 diff --git a/docs-2.0/6.monitor-and-metrics/3.bbox/3.2.bbox-reviewer.md b/docs-2.0/6.monitor-and-metrics/3.bbox/3.2.bbox-reviewer.md index 6dfdfeeb12..63c7e0e7f0 100644 --- a/docs-2.0/6.monitor-and-metrics/3.bbox/3.2.bbox-reviewer.md +++ b/docs-2.0/6.monitor-and-metrics/3.bbox/3.2.bbox-reviewer.md @@ -28,7 +28,7 @@ NebulaGraph 与 Nebula-BBox 的版本兼容性如下: ## 部署 Nebula-BBox -支持多种部署方式,包括 RPM、DEB、Docker 等。本文以 RPM 部署为例介绍如何部署 Nebula-BBox。 +支持多种部署方式,包括 RPM、DEB、TAR、Docker 等。本文以 RPM 部署为例介绍如何部署 Nebula-BBox。 1. 获取 RPM 安装包。 @@ -40,19 +40,23 @@ NebulaGraph 与 Nebula-BBox 的版本兼容性如下: 例如,`sudo rpm -i nebula-bbox-.x86_64.rpm` - Nebula-BBox 以二进制文件的形式安装在默认路径`/usr/bin/`下。 + Nebula-BBox 以二进制文件(文件名为`nebula-bbox`)的形式安装在默认路径`/usr/bin/`下。 ## 使用 Nebula-BBox 用户可以执行`nebula-bbox -h/--help`查看 Nebula-BBox 的帮助信息。 +!!! caution + + 对于安装在非默认路径(默认为`/usr/bin/`)下的 Nebula-BBox,执行`nebula-bbox`相关命令时,需指定 Nebula-BBox 的安装路径。例如,Nebula-BBox 安装在`/usr/bbox`下,则需执行`/usr/bbox/nebula-bbox -h`。 + ### 查看 Nebula-BBox 版本 执行`nebula-bbox version`查看 Nebula-BBox 的版本信息。 ### 查看采集的所有指标 -执行`nebula-bbox metrics`命令查看 Nebula-BBox 采集的所有指标。关于指标的详细信息,参见[PROC(5)](https://man7.org/linux/man-pages/man5/proc.5.html)。 +执行`nebula-bbox metrics`命令查看 Nebula-BBox 采集的所有指标。关于指标的详细信息,参见 [PROC(5)](https://man7.org/linux/man-pages/man5/proc.5.html)。 ### 查看黑匣子文件数据 @@ -87,7 +91,7 @@ nebula-bbox view [(-o|--output=)tui|csv] [--metrics name[,name ...]] [flags] (FI |查看子目录和单个文件的所有指标数据|`nebula-bbox view /usr/local/nebula/black_box/ /usr/local/nebula/black_box/ /usr/local/nebula/black_box//black_box..log`| |查看单个文件中指定的指标数据|`nebula-bbox view --metrics /usr/local/nebula/black_box//black_box..log`| |在所有文件中查看指定的指标数据|`nebula-bbox view --metrics /usr/local/nebula/black_box`| -|将所有文件中指定的指标数据导出为 CSV 文件。|`nebula-bbox view --metrics [, ...] --output csv --output-file .csv /usr/local/nebula/black_box`| +|将所有文件中指定的指标数据导出为 CSV 文件|`nebula-bbox view --metrics [, ...] --output csv --output-file .csv /usr/local/nebula/black_box`| |在所有文件中查看多个指定的指标数据|`nebula-bbox view --metrics [, ...] /usr/local/nebula/black_box`| |查看北京时间 2022 年 9 月 6 日 12:00 起至现在的所有文件数据| `nebula-bbox view --start-time "Tue, 06 Sep 2022 12:00:00 +0800" /usr/local/nebula/black_box`
其中`Tue, 06 Sep 2022 12:00:00 +0800`的格式可替换成`2022-09-06T12:00:00+08:00`、`2022-09-06 04:00:00 +0800`。| |查看北京时间 2022 年 9 月 6 日 12:00 起 1 小时内的所有文件数据|`nebula-bbox view --start-time "Tue, 06 Sep 2022 12:00:00 +0800" --duration 1h /usr/local/nebula/black_box`,时间段单位支持`h`、`m`、`s`。| diff --git a/docs-2.0/backup-and-restore/nebula-br-ent/1.br-ent-overview.md b/docs-2.0/backup-and-restore/nebula-br-ent/1.br-ent-overview.md index 746a32a7cd..1f33016cd1 100644 --- a/docs-2.0/backup-and-restore/nebula-br-ent/1.br-ent-overview.md +++ b/docs-2.0/backup-and-restore/nebula-br-ent/1.br-ent-overview.md @@ -15,6 +15,7 @@ Backup&Restore(简称 BR)企业版是一款命令行界面(CLI)工具。 - 支持基于以下存储环境备份和恢复数据: - 本地磁盘(SSD 或 HDD),建议搭配共享存储服务(NFS)。 - 兼容亚马逊对象存储(Amazon S3)云存储服务接口,例如:阿里云对象存储(Alibaba Cloud OSS)、MinIO、Ceph RGW 等。 +- 支持查看备份或恢复的进度。 ## 限制 diff --git a/docs-2.0/backup-and-restore/nebula-br-ent/2.install-tools.md b/docs-2.0/backup-and-restore/nebula-br-ent/2.install-tools.md index b0c9d6eae2..1b2c02e07c 100644 --- a/docs-2.0/backup-and-restore/nebula-br-ent/2.install-tools.md +++ b/docs-2.0/backup-and-restore/nebula-br-ent/2.install-tools.md @@ -10,7 +10,7 @@ |NebulaGraph 企业版|BR 企业版|Agent | |:---|:---|:---| -|3.4.1|3.4.0|3.4.0| +|3.4.1|3.4.1、3.4.0|3.4.0| ## 安装 BR(企业版) diff --git a/docs-2.0/backup-and-restore/nebula-br-ent/3.backup-data.md b/docs-2.0/backup-and-restore/nebula-br-ent/3.backup-data.md index c37b5cfca9..aa01af5fd4 100644 --- a/docs-2.0/backup-and-restore/nebula-br-ent/3.backup-data.md +++ b/docs-2.0/backup-and-restore/nebula-br-ent/3.backup-data.md @@ -185,6 +185,15 @@ | `--s3.secret_key`| string | 否 | 无 | 用户用于加密签名字符串和用来验证签名字符串的密钥,必须保密。 | | `--base` | string | 是 | 无 | 之前任一备份的目录名。基于此备份,进行增量备份。 | +## 查看备份进度 + +在安装目录内可以查看 BR 的日志文件`br.log`。日志文件会记录备份进度,内容类似: + +```log +{"level":"info","msg":"full upload storaged partition finished, progress: 1/20","time":"2023-03-15T02:13:20.946Z"} +{"level":"info","msg":"full upload storaged partition finished, progress: 2/20","time":"2023-03-15T02:13:21.154Z"} +{"level":"info","msg":"full upload storaged partition finished, progress: 3/20","time":"2023-03-15T02:13:21.537Z"} +``` ## 下一步 diff --git a/docs-2.0/backup-and-restore/nebula-br-ent/4.restore-data.md b/docs-2.0/backup-and-restore/nebula-br-ent/4.restore-data.md index 935bd9bfb7..af9e2c43f5 100644 --- a/docs-2.0/backup-and-restore/nebula-br-ent/4.restore-data.md +++ b/docs-2.0/backup-and-restore/nebula-br-ent/4.restore-data.md @@ -112,3 +112,13 @@ | `--s3.endpoint` | string | 否 | 无 | S3 对外服务的访问域名的 URL,指定 http 或 https。 | | `--s3.region` | string | 否 | 无 | 数据中心所在物理位置。 | | `--s3.secret_key` | string | 否 | 无 | 用户用于加密签名字符串和用来验证签名字符串的密钥,必须保密。 | + +## 查看恢复进度 + +在安装目录内可以查看 BR 的日志文件`br.log`。日志文件会记录恢复进度,内容类似: + +```log +{"level":"info","msg":"download storaged partition finished, progress: 1/20","time":"2023-03-15T02:16:43.430Z"} +{"level":"info","msg":"download storaged partition finished, progress: 2/20","time":"2023-03-15T02:16:43.431Z"} +{"level":"info","msg":"download storaged partition finished, progress: 3/20","time":"2023-03-15T02:16:43.763Z"} +``` 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 879063f05d..296fa83bea 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,7 +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.4.0 ~ 3.4.1 |3.4.2、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/operator/backup-and-restore.md b/docs-2.0/nebula-dashboard-ent/4.cluster-operator/operator/backup-and-restore.md index 3593643540..d987bf9a78 100644 --- a/docs-2.0/nebula-dashboard-ent/4.cluster-operator/operator/backup-and-restore.md +++ b/docs-2.0/nebula-dashboard-ent/4.cluster-operator/operator/backup-and-restore.md @@ -72,6 +72,7 @@ 如果 NebulaGraph 运行异常或者云存储服务的登录信息有误,用户将无法提交备份。 7. 在备份列表中查看创建的备份文件。 + ![br_list](https://docs-cdn.nebula-graph.com.cn/figures/brlist_221226_cn.png) !!! note @@ -151,3 +152,6 @@ - 用户可以通过设置筛选条件(创建时间和状态)或者搜索备份名称查看恢复记录。 +### 查看备份/恢复进度 + +备份或恢复开始后,可以在对应任务的**操作**列单击**查看日志**,查看备份或恢复的进度。 \ No newline at end of file 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 8c0e220e0b..593957c90f 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 @@ -117,7 +117,9 @@ CentOS 7.9.2009 source: nebula sink: csv } - + metaAddress:"127.0.0.1:9559" + space:"test" + label:"person" # 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 @@ -138,6 +140,9 @@ CentOS 7.9.2009 source: nebula sink: csv } + metaAddress:"127.0.0.1:9559" + space:"test" + label:"friend" # 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 diff --git a/docs-2.0/nebula-operator/11.rolling-update-strategy.md b/docs-2.0/nebula-operator/11.rolling-update-strategy.md new file mode 100644 index 0000000000..cc7d5ea0a0 --- /dev/null +++ b/docs-2.0/nebula-operator/11.rolling-update-strategy.md @@ -0,0 +1,38 @@ +# NebulaGraph 集群的滚动更新策略 + +NebulaGraph 集群使用分布式架构将数据分成多个逻辑分片,这些分片通常均分在不同的节点上。分布式系统中,同一份数据通常会有多个副本。为了保证多个副本数据的一致性,NebulaGraph 集群使用 Raft 协议实现了多分片副本同步。Raft 协议中,每个分片都会选举出一个 Leader 副本,Leader 副本负责处理写请求,Follower 副本负责处理读请求。 + +通过 Operator 创建的 NebulaGraph 集群在滚动更新过程中,一个存储节点会暂时停止提供服务以进行更新。关于滚动更新的概述,参见[执行滚动更新](https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/update/update-intro/)。如果 Leader 副本所在的节点停止提供服务,会导致该分片的读写不可用。为了避免这种情况,Operator 会在 NebulaGraph 集群滚动更新过程中,默认将 Leader 副本迁移到其他未受影响节点上。这样,当一个存储节点处于更新状态时,其他节点上的 Leader 副本能够继续处理客户端请求,以保证集群的读写可用性。 + +一个存储节点上的所有 Leader 副本全部迁移到其他节点的这个过程可能会持续较长时间。为了更好地控制滚动更新的时间,Operator 提供了一个名为`enableForceUpdate`参数。当确定没有外部访问流量时,可将该参数设置为`true`,这样,Leader 副本将不会被迁移到其他节点上,从而加快滚动更新的速度。 + +## 滚动更新触发条件 + +Operator 会在以下情况下触发 NebulaGraph 集群的滚动更新: + +- NebulaGraph 集群的版本发生变化。 +- NebulaGraph 集群的配置发生变化。 + +## 配置滚动更新策略 + +在创建集群实例的 YAML 文件中,添加`spec.storaged.enableForceUpdate`参数,设置为`true`或`false`,以控制滚动更新的速度。 + +当`enableForceUpdate`为`true`时,表示不迁移分片 Leader 副本,从而加快滚动更新的速度;反之,表示迁移分片 Leader 副本,以保证集群的读写可用性。默认值为`false`。 + +!!! caution + + 设置`enableForceUpdate`为`true`时,确保没有流量进入集群进行读写操作。因为该设置会强制重建集群 Pod,此过程会发生数据丢失或客户端请求失败的情况。 + + +配置示例: + +```yaml +... +spec: +... + storaged: + enableForceUpdate: true // 设置为 true 时,加快滚动更新的速度。 + ... +``` + + 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 60a1b3be2e..ffcb6cdb3d 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 @@ -2,7 +2,7 @@ NebulaGraph Operator 使用持久化卷 PV(Persistent Volume)和持久化卷声明 PVC(Persistent Volume Claim)来存储持久化数据。如果用户不小心删除了一个 NebulaGraph 集群,默认 PV 和 PVC 对象及其数据仍可保留,以确保数据安全。 -用户也可以在集群实例的配置文件中通过设置参数`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 回收策略。 +用户也可以在集群实例的配置文件中通过设置参数`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 回收策略。 ## 前提条件 diff --git a/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.4.manage-running-logs.md b/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.4.manage-running-logs.md new file mode 100644 index 0000000000..c3d58d2f67 --- /dev/null +++ b/docs-2.0/nebula-operator/8.custom-cluster-configurations/8.4.manage-running-logs.md @@ -0,0 +1,104 @@ +# 管理集群日志 + +NebulaGraph 集群各服务(graphd、metad、storaged)在运行期间会生成运行日志,日志默认存放在各个服务容器的`/usr/local/nebula/logs`目录下。 + +## 查看运行日志 + +如果您需要查看 NebulaGraph 集群的运行日志,可以通过`kubectl logs`命令查看。 + +例如,查看 Storage 服务的运行日志: + +```bash +// 查看 Storage 服务 Pod 的名称 nebula-storaged-0。 +$ kubectl get pods +NAME READY STATUS RESTARTS AGE +nebula-exporter-84b6974497-cr54d 1/1 Running 0 43h +nebula-graphd-0 1/1 Running 0 22h +nebula-metad-0 1/1 Running 0 45h +nebula-storaged-0 1/1 Running 0 45h +... + +// 进入 Storage 服务所在容器 storaged。 +$ kubectl exec -it nebula-storaged-0 -c storaged -- /bin/bash + +// 查看 Storage 服务的运行日志。 +$ cd /usr/local/nebula/logs +``` + +## 清理日志 + +集群服务在运行期间生成的运行日志会占用磁盘空间,为避免占用过多磁盘空间,Operator 使用 sidecar 容器定期清理和归档日志。 + +为了方便日志的采集和管理,每个 NebulaGraph 服务都会部署一个 sidecar 容器,负责收集该服务容器产生的日志,并将其发送到指定的日志磁盘中。sidecar 容器使用 [logrotate](https://linux.die.net/man/8/logrotate) 工具自动清理和归档日志。 + +在集群实例的 YAML 配置文件中,可以通过`spec.logRotate`字段配置日志轮转以自动对日志进行清理和归档。默认情况下,日志轮转功能是关闭的。开启日志轮转功能示例如下: + +```yaml +... +spec: + graphd: + config: + # 是否在日志文件名中包含时间戳,true 表示包含,false 表示不包含。 + "timestamp_in_logfile_name": "false" + metad: + config: + "timestamp_in_logfile_name": "false" + storaged: + config: + "timestamp_in_logfile_name": "false" + logRotate: # 日志轮转配置 + # 日志文件在被删除前会被轮转的次数。默认值为 5,0 表示删除前不会被轮转。 + rotate: 5 + # 仅当日志文件增长超过定义的字节大小时才会轮转日志文件。默认值为 200M。 + size: "200M" +``` + + +## 收集日志 + +如果不想挂载额外的日志磁盘备份日志文件,或者想通过诸如 [fluent-bit](https://fluentbit.io/) 之类的服务收集日志并将其发送到日志中心,可以配置日志至标准错误输出。Operator 使用 [glog](https://github.com/google/glog) 工具将日志记录到标准错误输出。 + +!!! caution + + 目前 Operator 仅收集标准错误日志。 + +在集群实例的 YAML 配置文件中,可以在各个服务下的`config`和`env`字段中配置日志记录到标准错误输出。 + + +```yaml +... +spec: + graphd: + config: + # 是否将标准错误重定向到单独的输出文件。默认值为 false,表示不重定向。 + redirect_stdout: "false" + # 日志内容的严重程度级别:INFO、WARNING、ERROR 和 FATAL。取值分别为 0、1、2 和 3。 + stderrthreshold: "0" + env: + - name: GLOG_logtostderr # 日志写入标准错误而不是文件。 + value: "1" # 1 表示写入标准错误,0 表示写入文件中。 + image: vesoft/nebula-graphd + replicas: 1 + resources: + requests: + cpu: 500m + memory: 500Mi + service: + externalTrafficPolicy: Local + type: NodePort + version: v{{nebula.release}} + metad: + config: + redirect_stdout: "false" + stderrthreshold: "0" + dataVolumeClaim: + resources: + requests: + storage: 1Gi + storageClassName: ebs-sc + env: + - name: GLOG_logtostderr + value: "1" + image: vesoft/nebula-metad + ... +``` \ No newline at end of file diff --git a/docs-2.0/nebula-operator/9.upgrade-nebula-cluster.md b/docs-2.0/nebula-operator/9.upgrade-nebula-cluster.md index 95adc9ce69..1d9c1ca41b 100644 --- a/docs-2.0/nebula-operator/9.upgrade-nebula-cluster.md +++ b/docs-2.0/nebula-operator/9.upgrade-nebula-cluster.md @@ -203,3 +203,7 @@ 1 vesoft/nebula-metad:{{nebula.tag}} 3 vesoft/nebula-storaged:{{nebula.tag}} ``` + +## 加速升级过程 + +集群的升级过程是一个滚动更新的过程也是耗时的过程,因为 Storage 服务的 Leader 分片副本会进行状态转移。用户可在集群实例的 YAML 文件中配置`enableForceUpdate`参数,来略过 Leader 分片副本转移操作,以达到加速升级的过程。详情参见[配置滚动更新策略](11.rolling-update-strategy.md)。 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 9d98e7cd39..110a4582c6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -111,7 +111,7 @@ plugins: - with-pdf: copyright: 2023 vesoft Inc. cover_subtitle: master - author: 吴敏,周瑶,梁振亚,杨怡璇,黄凤仙 + author: 吴敏,周瑶,梁振亚,黄凤仙 cover: true back_cover: true cover_logo: 'https://cloud-cdn.nebula-graph.com.cn/nebula-for-pdf.png' @@ -206,8 +206,8 @@ extra: base100: 1.0.0 branch: release-3.4 dashboard_ent: - release: 3.4.1 - tag: v3.4.1 + release: 3.4.2 + tag: v3.4.2 branch: release-3.4 console: release: 3.4.0 @@ -218,8 +218,8 @@ extra: branch: release-3.3 tag: v3.3.0 br_ent: - release: 3.4.0 - tag: v3.4.0 + release: 3.4.1 + tag: v3.4.1 agent: release: 3.4.0 tag: v3.4.0 @@ -468,9 +468,9 @@ nav: # - 管理逻辑机架(Zone): 4.deployment-and-installation/5.zone.md - 升级版本: - - 升级 v2.x 至 v3.4(社区版): 4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest.md - - 升级 v3.x 至 v3.4(社区版): 4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md - - 升级 v3.x 至 v3.4(企业版): 4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-ent-from-3.x-3.4.md + - 升级 NebulaGraph 至 v3.4(社区版): 4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest.md + # - 升级 v3.x 至 v3.4(社区版): 4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md + - 升级 NebulaGraph 至 v3.4(企业版): 4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-ent-from-3.x-3.4.md - 卸载 NebulaGraph: 4.deployment-and-installation/4.uninstall-nebula-graph.md - 配置与日志: @@ -715,15 +715,17 @@ nav: - 部署 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: nebula-operator/4.connect-to-nebula-graph-service.md - 配置 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 -#ent - - 备份与恢复: nebula-operator/10.backup-restore-using-operator.md + - 管理集群日志: nebula-operator/8.custom-cluster-configurations/8.4.manage-running-logs.md + - 升级 NebulaGraph: nebula-operator/9.upgrade-nebula-cluster.md + - 配置滚动更新策略: nebula-operator/11.rolling-update-strategy.md +#ent + - 备份与恢复: nebula-operator/10.backup-restore-using-operator.md - 故障自愈: nebula-operator/5.operator-failover.md - 常见问题: nebula-operator/7.operator-faq.md