Skip to content

Commit

Permalink
single Node log (#64)
Browse files Browse the repository at this point in the history
* single node log

* update configs

* fix dan and doodle

* fix dan

* meta
  • Loading branch information
Amber1990Zhang committed Jul 27, 2020
1 parent f5b3221 commit c84154f
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,11 @@ UPDATE CONFIGS [graph|storage :] <var> = <value>
```

> 更新的变量将持久化在 `meta service` 中。
> 如果配置模式为 `MUTABLE`,则更改将立即生效。如果模式为 `REBOOT`,则更改将在服务器重新启动后生效。
> 支持在 UPDATE CONFIGS 中使用算术计算。
> 如果配置模式为 `MUTABLE`,则更改将立即生效。
> 部分 RocksDB 参数需重启才会生效。
> 支持在 `UPDATE CONFIGS` 中使用算术计算。
例如
例如

```ngql
nebula> UPDATE CONFIGS storage:heartbeat_interval_secs=1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ max_subcompactions -- level0 到 level1 的 compact 启用多线程
max_background_jobs -- 使用多线程进行 compact。默认为 1,动态修改重启后生效
```

> 以上参数都可通过 UPDATE CONFIGS 语法进行动态修改,也可以写在本地配置文件中。具体作用和修改是否需要重启请参考 RocksDB 手册。
以上参数都可通过 `UPDATE CONFIGS` 语法进行动态修改,也可以写在本地配置文件中。具体作用和修改是否需要重启请参考 RocksDB 手册。

### `rocksdb_column_family_options`

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 单机日志

**Nebula Graph** 使用 [glog](https://github.com/google/glog) 打印日志,使用 [gflag](https://gflags.github.io/gflags/) 控制日志级别,并提供 HTTP 接口在运行时动态改变日志级别,以方便追踪问题。

## 日志位置

日志默认存放在 `/usr/local/nebula/logs/` 下。

**注意:** 如果在运行时删除了日志目录,会导致运行时的日志不继续输出,但不会影响服务。程序重启后可恢复正常。

## 参数说明

### glog 中的两个主要参数

- minloglevel:范围为 0-4。其中 0-3 对应的日志级别分别为 INFO(DEBUG)、WARNING、ERROR、FATAL。通常在调试环境设置为 0,生产环境设置为 1,设置为 4 不打印任何日志。
- v:范围为 0-3。当 minloglevel 设置为 0 时,可以进一步设置调试日志的详细程度,值越大越详细。

### 配置文件

在配置文件中(通常在 `/usr/local/nebula/etc/` 下)可以找到 metad、graphd 和 storaged 的默认日志配置级别。

## 动态查看和修改日志级别

通过如下命令来查看当前所有的 gflags 参数(包括日志参数)。curl 仅在 `local_config` 设置为 `true` 时可用。

```bash
> curl ${ws_ip}:${ws_port}/get_flags
```

其中,

- `ws_ip` 为 HTTP 服务的 IP,可以在上述配置文件中找到。默认 IP 为 127.0.0.1。
- `ws_port` 为 HTTP 服务的端口号。`metad` 默认为 11000, `storaged` 默认为 12000,`graphd` 默认为 13000。

例如,查看 `storaged` 服务的 minloglevel 级别:

```bash
> curl 127.0.0.1:12000/get_flags | grep minloglevel # storage
> curl 127.0.0.1:13000/get_flags # metad
```

也可以通过如下命令将日志级别更改为**最详细**

```bash
> curl "http://127.0.0.1:12000/set_flags?flag=v&value=3"
> curl "http://127.0.0.1:12000/set_flags?flag=minloglevel&value=0"
```

在 console 中,使用如下命令获取当前日志级别并将日志级别设置为**最详细**

```ngql
nebula> GET CONFIGS graph:minloglevel;
nebula> UPDATE CONFIGS graph:minloglevel=0;
```

如需更改 storage 日志级别,将上述命令中的 `graph` 更换为 `storage` 即可。

**注意:** **Nebula Graph** 仅支持通过 console 修改 graph 和 storage 日志级别,meta 日志级别必须使用 curl 命令更改。

使用以下命令**关闭**所有的日志打印(仅保留 FATAL)。

```bash
> curl "http://127.0.0.1:12000/set_flags?flag=minloglevel&value=3"
```
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

本文档将为您介绍 Compact。

Nebula Graph KV 基于 RocksDB 的默认 compact 做了定制。**Nebula Graph** 提供两种类型的 compact 和相应的操作方法
Nebula Graph KV 基于 RocksDB 的默认 compact 做了定制。**Nebula Graph** 提供两种类型的 compact 相应的操作方法

1. 启动和停止(简称启停) compact,调用 RocksDB 默认的 compact主要目的是在写入时自动进行小规模的 sst 文件合并,以保证短时间内的读速度。通常在日间业务时自动触发;
- 调用 RocksDB 默认的 compact主要目的是在写入时自动进行小规模的 sst 文件合并,以保证短时间内的读速度。通常在日间业务时自动触发。运行以下命令启动或关闭 RocksDB 默认 compact

```ngql
```sql
nebula> UPDATE CONFIG storage:disable_auto_compactions=false/true;
```

2. 通过 `SUBMIT JOB COMPACT` 来主动触发,调用 **Nebula Graph** 自定义的 compact,通常建议在凌晨业务低谷时进行,以完成大规模的 sst 文件合并、TTL 等大规模后台操作。
- 调用 **Nebula Graph** 自定义的 compact:主要目的是完成大规模的 sst 文件合并、TTL 等大规模后台操作。通常建议在凌晨业务低谷时进行。通过 `SUBMIT JOB COMPACT` 来主动触发

另外,两种方法的线程数均可通过如下命令调整。日间可以将调整线程数调低,夜间可以增加线程数。

Expand Down
3 changes: 2 additions & 1 deletion docs/manual-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,12 @@
* [系统要求](3.build-develop-and-administration/3.configurations/0.system-requirement.md)
* [配置持久化与优先级](3.build-develop-and-administration/3.configurations/1.config-persistency-and-priority.md)
* [CONFIG 语法](3.build-develop-and-administration/3.configurations/2.configs-syntax.md)
* [Metad 配置](3.build-develop-and-administration/3.configurations/3.meta-config.md)
<!-- * [Metad 配置](3.build-develop-and-administration/3.configurations/3.meta-config.md) -->
* [Graphd 配置](3.build-develop-and-administration/3.configurations/4.graph-config.md)
* [Storaged 配置](3.build-develop-and-administration/3.configurations/5.storage-config.md)
* [命令行终端配置](3.build-develop-and-administration/3.configurations/6.console-config.md)
* [Kernel 配置](3.build-develop-and-administration/3.configurations/7.kernel-config.md)
* [单机日志](3.build-develop-and-administration/3.configurations/8.single-node-log.md)

* 账号权限管理
* [Alter User Syntax](3.build-develop-and-administration/4.account-management-statements/alter-user-syntax.md)
Expand Down
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,11 +158,12 @@ nav:
- 系统要求: manual-CN/3.build-develop-and-administration/3.configurations/0.system-requirement.md
- 配置持久化与优先级: manual-CN/3.build-develop-and-administration/3.configurations/1.config-persistency-and-priority.md
- CONFIG 语法: manual-CN/3.build-develop-and-administration/3.configurations/2.configs-syntax.md
- Metad 配置: manual-CN/3.build-develop-and-administration/3.configurations/3.meta-config.md
# - Metad 配置: manual-CN/3.build-develop-and-administration/3.configurations/3.meta-config.md
- Graphd 配置: manual-CN/3.build-develop-and-administration/3.configurations/4.graph-config.md
- Storaged 配置: manual-CN/3.build-develop-and-administration/3.configurations/5.storage-config.md
- Console 配置: manual-CN/3.build-develop-and-administration/3.configurations/6.console-config.md
- Kernel 配置: manual-CN/3.build-develop-and-administration/3.configurations/7.kernel-config.md
- 单机日志: manual-CN/3.build-develop-and-administration/3.configurations/8.single-node-log.md


- 账号权限管理:
Expand Down

0 comments on commit c84154f

Please sign in to comment.