
## Proc 系统
Proc 系统是 Doris 的一个比较有特色的功能。使用过 Linux 的同学可能比较了解这个概念。在 Linux 系统中,proc 是一个虚拟的文件系统,通常挂载在 proc 目录下。用户可以通过这个文件系统来查看系统内部的数据结构。比如可以通过 proc/pid 查看指定 pid 进程的详细情况。
和 Linux 中的 proc 系统类似,Doris 中的 proc 系统也被组织成一个类似目录的结构,根据用户指定的“目录路径(proc 路径)”,来查看不同的系统信息。
proc 系统被设计为主要面向系统管理人员,方便其查看系统内部的一些运行状态。如表的tablet状态、集群均衡状态、各种作业的状态等等。是一个非常实用的功能。
### 查看 Proc 系统
Doris 中有两种方式可以查看 proc 系统。
通过 SHOW PROC 命令
mysql> show proc "/";+---------------------------+| name |+---------------------------+| statistic || brokers || frontends || routine_loads || auth || jobs || resources || monitor || transactions || colocation_group || backends || cluster_balance || current_queries || dbs || load_error_hub || current_backend_instances || tasks |+---------------------------+17 rows in set (0.00 sec)mysql> show proc "/dbs";+-------+------------------------------------+----------+-------------+--------------------------+--------------+| DbId | DbName | TableNum | Quota | LastConsistencyCheckTime | ReplicaQuota |+-------+------------------------------------+----------+-------------+--------------------------+--------------+| 0 | default_cluster:information_schema | 17 | 1024.000 GB | NULL | 1073741824 || 10003 | default_cluster:db1 | 3 | 1024.000 GB | NULL | 1073741824 || 10013 | default_cluster:doris_audit_db__ | 1 | 1024.000 GB | NULL | 1073741824 |+-------+------------------------------------+----------+-------------+--------------------------+--------------+3 rows in set (0.00 sec)
通过 MySQL 客户端连接 Doris 后,可以执行 SHOW PROC 语句查看指定 proc 目录的信息。proc 目录是以 "/" 开头的绝对路径。
show proc 语句的结果以二维表的形式展现。而通常结果表的第一列的值为 proc 的下一级子目录。如 "/dbs" 展示所有数据库,而 "/dbs/10003" 展示 id 为 10003 的数据库下的所有表。
mysql> show proc "/dbs";+-------+------------------------------------+----------+-------------+--------------------------+--------------+| DbId | DbName | TableNum | Quota | LastConsistencyCheckTime | ReplicaQuota |+-------+------------------------------------+----------+-------------+--------------------------+--------------+| 0 | default_cluster:information_schema | 17 | 1024.000 GB | NULL | 1073741824 || 10003 | default_cluster:db1 | 3 | 1024.000 GB | NULL | 1073741824 || 10013 | default_cluster:doris_audit_db__ | 1 | 1024.000 GB | NULL | 1073741824 |+-------+------------------------------------+----------+-------------+--------------------------+--------------+3 rows in set (0.00 sec)mysql> show proc "/dbs/10003";+---------+-----------+----------+---------------------+--------------+--------+------+--------------------------+--------------+| TableId | TableName | IndexNum | PartitionColumnName | PartitionNum | State | Type | LastConsistencyCheckTime | ReplicaCount |+---------+-----------+----------+---------------------+--------------+--------+------+--------------------------+--------------+| 10063 | tbl1 | 1 | NULL | 1 | NORMAL | OLAP | NULL | 1 || 10069 | tbl2 | 1 | k2 | 2 | NORMAL | OLAP | NULL | 2 || 11007 | tbl3 | 1 | k1 | 2 | NORMAL | OLAP | NULL | 2 |+---------+-----------+----------+---------------------+--------------+--------+------+--------------------------+--------------+3 rows in set (0.00 sec)
我们可以通过层级目录的方式,递进的查看子目录中更详细的信息。
通过 FE Web UI
Doris FE 的前端 Web UI 也能查看 proc 信息。你可以在浏览器打开:
http://fe_host:http_port/
在顶部导航栏中点击 "System" 标签。

Web 页面的 proc 信息和 SHOW PROC 语句的完全一致,只是提供了一个可视化的页面展示功能。大部分情况下,我们可以点击结果表的第一列,进入下一级目录,如点击 "dbs" 后进入:

页面上显示的 "Current path: dbs" 即当前 proc 目录。我们可以复制这个路径拼接为 SHOW PROC 语句在命令行执行。
Web 页面可以提供排序和筛选功能,这个是使用命令行工具所不具备的。如我们可以通过点击列名对结果表按照该列值做升序或者降序排列。也可以点击右上角的漏斗图标弹出搜索框,按照关键词进行结果查找。

> 受限于前端的渲染能力,在 Web 页面查看 proc 信息时,默认仅显示前 2000 条结果。因此,在某些结果集较大的 proc 目录层级中(如查看一个表的 tablet 信息),在 Web 页面是无法查看到完整结果的,必须通过 SHOW PROC 命令在命令行查看完整结果。
未完待续
Proc 系统有助于管理员查看系统运行状态,是一个非常常用的功能。我们会在后续的文章中分别介绍 proc 系统中各个目录的含义。
【Doris Weekly】2021.04.13~2021.04.26
【Doris Weekly】2021.03.22 ~ 2021.04.11
【Doris Weekly】2020.03.08~2021.03.21
Apache Doris Roadmap 2021
Doris功能介绍-导入分析
Doris 功能介绍-查询分析

百度数据仓库 Powered by Doris
基于 Apache Doris 的企业级数据仓库托管服务
全新UI支持,更有新用户0元试用3个月优惠活动
登陆百度智能云官网搜索Doris,马上试用!

📣百度Doris 团队,诚邀对开源软件、分布式数据库感兴趣的小伙伴们
我们虚位以待!
简历发送至:talent-doris@baidu.com
欢迎扫码关注:

Apache Doris(incubating)官方公众号
相关链接:
Apache Doris官方网站:
http://doris.incubator.apache.org
Apache Doris Github:
https://github.com/apache/incubator-doris
Apache Doris 开发者邮件组:
dev@doris.apache.org





