Skip to content

Commit

Permalink
Merge branch 'v3.4.1' into merge-3.4.1 (#2681)
Browse files Browse the repository at this point in the history
  • Loading branch information
cooper-lzy authored Mar 27, 2023
1 parent 26c4088 commit 14124ab
Show file tree
Hide file tree
Showing 30 changed files with 322 additions and 69 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -247,16 +247,16 @@ leader 切换对于负载均衡至关重要,当把某个分片从一台机器

为了避免脑裂,当一个 Raft group 的成员发生变化时,需要有一个中间状态,该状态下新旧 group 的多数派需要有重叠的部分,这样就防止了新的 group 或旧的 group 单方面做出决定。为了更加简化,Diego Ongaro 在自己的博士论文中提出每次只增减一个 peer 的方式,以保证新旧 group 的多数派总是有重叠。NebulaGraph 也采用了这个方式,只不过增加成员和移除成员的实现有所区别。具体实现方式请参见 Raft Part class 里 addPeer/removePeer 的实现。

<!-- open after fully tested

{{ent.ent_begin}}
<!--- open after fully tested 企业版功能,放出后记得加宏标签
## 缓存
由于 RocksDB 本身的缓存管理存在限制,无法按需缓存点或边,所以 NebulaGraph 自行实现了 Storage 缓存管理,可以更自由地设置缓存大小、内容等。详情参见 [storage cache 配置](../../5.configurations-and-logs/1.configurations/4.storage-config.md)。
用户可以通过 cURL 命令`curl "http://[storaged IP]:[http port]/cache?stats"`查询缓存数据信息。
{{ent.ent_end}} -->
--->

## 与 HDFS 的区别

Expand Down
35 changes: 33 additions & 2 deletions docs-2.0/20.appendix/0.FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ dmp 文件是错误报告文件,详细记录了进程退出的信息,可以

### 防火墙中需要开放哪些端口?

如果没有修改过[配置文件](../5.configurations-and-logs/1.configurations/1.configurations.md) 中预设的端口,请在防火墙中开放如下端口:
如果没有修改过[配置文件](../5.configurations-and-logs/1.configurations/1.configurations.md)中预设的端口,请在防火墙中开放如下端口:

|服务类型|端口|
|-|-|
Expand All @@ -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 集群。<br/>也是集群间数据同步中 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 服务占用端口。 |

### 如何测试端口是否已开放?

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# NebulaGraph Dashboard 企业版更新说明

## 企业版 v3.4.2

- 优化

- 支持在备份恢复页面查看数据备份恢复的进度。
- 内置 NebulaGraph 企业版 v3.4.1 安装包。

## 企业版 v3.4.1

- 缺陷修复
Expand Down Expand Up @@ -44,4 +51,4 @@
- 修复服务监控的总览页面中选择监控时间范围不生效的问题。
- 修复缩容时删除空节点没有删除对应 NebulaGraph 文件的问题。
- 修复切换诊断报告语言时,同时切换了全局语言的问题。
- 修复某个导入集群任务阻塞导致其他导入任务一直处于等待状态的问题。
- 修复某个导入集群任务阻塞导致其他导入任务一直处于等待状态的问题。
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 缺陷修复

- 修复参数表达式 encode 到存储层执行导致崩溃的问题
- 修复编码参数表达式并在存储中求值导致的崩溃问题

- 修复一些列表函数的崩溃问题。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ DISTINCT
DOUBLE
DOWNLOAD
DROP
DURATION
EDGE
EDGES
EXISTS
Expand Down
15 changes: 8 additions & 7 deletions docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@

- 确保新增的属性名不与已存在或被删除的属性名同名,否则新增属性会失败。

- 允许增加`FIXED_STRING``INT`类型的长度。
- 允许`FIXED_STRING`类型转换为`STRING`类型、`FLOAT`类型转换为`DOUBLE`类型。

## 语法

```ngql
Expand All @@ -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 说明
Expand Down
4 changes: 2 additions & 2 deletions docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ INSERT EDGE [IF NOT EXISTS] <edge_type> ( <prop_name_list> ) VALUES

- `dst_vid`:目的点 ID,表示边的终点。

- `rank`:可选项。边的 rank 值。默认值为`0`
- `rank`:可选项。边的 rank 值。数据类型为`int`默认值为`0`

!!! compatibility "openCypher 兼容性"

Expand Down Expand Up @@ -97,6 +97,6 @@ nebula> FETCH PROP ON e2 "14"->"15"@1 YIELD edge AS e;
!!! Note

* NebulaGraph {{ nebula.release }} 允许存在悬挂边(Dangling edge)。因此可以在起点或者终点存在前,先写边;此时就可以通过 `<edgetype>._src`或`<edgetype>._dst`获取到(尚未写入的)点 VID(不建议这样使用)。
* 目前还不能保证操作的原子性,如果失败请重试,否则会发生部分写入。此时读取该数据的行为是未定义的。
* 目前还不能保证操作的原子性,如果失败请重试,否则会发生部分写入。此时读取该数据的行为是未定义的。例如写入操作涉及到多个机器时,可能会出现插入单个边的正反向边只写入成功一个,或者插入多个边时只写入成功一部分,此时会返回报错,请重新执行命令。
* 并发写入同一条边会报`edge conflict`错误,可稍后重试。
* `边的 INSERT 速度`大约是点的 INSERT 速度一半。原因是 INSERT 边会对应 storaged 的两个 INSERT,`INSERT 点`对应 storaged 的一个 INSERT。
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ SET <update_prop>
| `ON <edge_type>` || 指定 Edge type。要修改的属性必须在这个 Edge type 内。 | `ON serve` |
| `<src_vid>` || 指定边的起始点 ID。 | `"player100"` |
| `<dst_vid>` || 指定边的目的点 ID。 | `"team204"` |
| `<rank>` || 指定边的 rank 值。 | `10` |
| `<rank>` || 指定边的 rank 值。数据类型为`int` | `10` |
| `SET <update_prop>` || 指定如何修改属性值。| `SET start_year = start_year +1` |
| `WHEN <condition>` || 指定过滤条件。 | `WHEN end_year < 2010` |
|`YIELD <output>`|| 指定语句的输出格式。 | `YIELD start_year AS Start_Year` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" |
+------------------+----------+--------------------+----------------------------+----------------------------+------------------+----------+--------------------+
```

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/8.clauses-and-options/order-by.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

```ngql
<YIELD clause>
ORDER BY <expression> [ASC | DESC] [, <expression> [ASC | DESC] ...];
| ORDER BY <expression> [ASC | DESC] [, <expression> [ASC | DESC] ...];
```

!!! compatibility
Expand Down
17 changes: 16 additions & 1 deletion docs-2.0/3.ngql-guide/8.clauses-and-options/return.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,10 @@ nebula> MATCH (v:player{name:"Tim Duncan"}) \

## 返回属性

使用语法`{<vertex_name>|<edge_name>}.<property>`返回点或边的属性
使用语法`<vertex_name>.<tag_name>.<property_name>`返回点的属性;使用语法`<edge_name>.<property_name>`返回边的属性

```ngql
// 返回点的属性
nebula> MATCH (v:player) \
RETURN v.player.name, v.player.age \
LIMIT 3;
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading

0 comments on commit 14124ab

Please sign in to comment.