Cluster Manager for Apache Doris 23.x 使用指南
概览
主要功能
Cluster Manager for Apache Doris(以下简称 Doris Manager)提供的主要功能如下:
- 部署集群 :通过 Doris Manager 在物理机、虚拟机部署 Apache Doris 或 SelectDB Doris 集群。
- 接管集群 :将现有的 Apache Doris 或 SelectDB Doris 集群接管到 Doris Manager 进行运维、监控。
- 集群详情 :查看集群的运行状态、详情、连接信息。
- 集群扩缩 :对 FE、BE 节点进行扩容、缩容。
- 集群升级 :对集群版本进行升级,提供全量停服升级和在线滚动升级,可根据业务场景选择适合的升级方式。
- 集群重启 :对整个集群、FE、BE 以及节点进行重启操作,重启集群支持滚动和全量重启。
- 节点详情 :查看节点的实时状态以及机器信息。
- 参数配置 :支持节点自定义编辑配置文件,单个节点支持查看所有的运行参数。
- 监控告警 :查看监控指标、设置告警规则,并支持通过邮件、聊天软件、Webhook 等方式进行告警通知。
- 日志查看 :支持查看、查询 FE、BE 各节点的日志,方便离线排查集群问题。
- 集群巡检 :一键检查机器状况、集群运行状态,及时发现并定位性能瓶颈,并提供修复建议。
- WebUI :支持查看数据库中的数据以及其信息,还可以进行 SQL 查询、数据导入、权限管理等操作。
- 其他 :修改集群 root 用户、admin 用户的密码,停止接管集群等。
初始化配置
Doris Manager 第一次启动后,访问服务的第一步,是设置 Doris Manager 的管理员账户。管理员账户拥有 Doris Manager 的最高权限,可以进行用户设置、Doris Manager 自身服务配置和升级等操作。其他账户必须以管理员账户的身份添加。
- 初始化 Doris Manager 管理员账户
注意:请您牢记设置的管理员用户名密码,在 Doris Manager 中只有一个管理员账户的情况下,管理员账户的用户名密码一旦丢失,将不能重置恢复。
- 配置服务组件部署信息
创建 Doris Manager 管理员用户后,点击 下一步 进入服务组件配置页面,填写配置信息。
设置分为两部分,分别是组件配置与安装包配置:
- 组件配置 : Doris Manager 管控服务与监控告警相关的组件配置,主要有两方面,分别是管控控制端口与监控告警服务。
- 管控控制端口 :必填项,Doris Manager 需要占用一个端口进行集群的管理和控制。请在安装 Doris Manager 的机器上选择一个开放且可用的端口。
- 监控告警服务 :可选项,用于配置 Doris Manager 的监控告警模块,这里会安装 Grafana、Prometheus、Alertmanager,需要在安装 Doris Manager 的机器上选择三个可用的端口。
- 邮件告警 :配置邮件服务器,随后可以使用告警中的“邮件告警”渠道。
- 高级配置 :用于解决通过域名访问 Doris Manager 时,无法查看监控指标的问题。
- 安装包配置 :配置本地的 Doris Core、Doris Manager 安装包,用于新建、升级集群。
- 启动 Doris Manager
完成配置后,点击 启动 Doris Manager 。
在启动完成后,点击 进入 Doris Manager,将进入管控页面。
用户菜单
服务配置
进入 Doris Manager 后,可以在左下角点击用户的头像,菜单中选择 服务配置。配置信息修改后,点击 保存并重启 ,Doris Manager 将重启并加载新的配置。
在服务模块,可以看到各个服务的状态,并支持对服务的重启及启停操作。
访问控制
在用户管理,系统管理员可以新建用户,并给他们分配角色。
Doris Manager 内置了三种角色,其权限范围见下表:
角色 | 系统管理 | 集群管理 | 集群查看 |
---|---|---|---|
SystemAdmin | 全部 | 全部 | 全部 |
ClusterAdmin | 无 | 全部 | 全部 |
ClusterView | 无 | 无 | 全部 |
集群管理是对集群进行运维操作(参数配置、重启、升级等)的权限,拥有集群管理权限一定拥有集群查看权限。
您也可以新建角色,并分配他们的权限范围,例如在图中的 GuideAdmin 角色,拥有对 Guide 集群的管理权限。
修改登录密码
点击左下角的用户头像,选择 修改登录密码 ,可以修改当前用户的登录密码。
升级 Doris Manager
- 查看当前版本
点击页面左下角用户信息,可以查看 Doris Manager 当前版本。
- 下载新版本 Doris Manager 安装包
升级页面会提示目标版本安装包在 Doris Manager 服务器上的存放路径。
直接登录 Doris Manager 服务器机器,把新版本的安装包存放进目录。再刷新页面,就可以查看并选择目标版本。
点击 升级 按钮就可以进入升级页面。
- 升级Doris Manager
注意:升级时也会重启 webserver 组件,所以页面会短暂自动退出,请重新登录即可。
切换语言
点击左下角的用户头像,选择 切换语言 ,可以切换到英文版本。
集群新建
部署集群
通过 Doris Manager 能在物理机、虚拟机部署 Apache Doris 或 SelectDB Doris 集群,并自动完成集群的安装和配置。在部署过程中,用户可以自定义集群的规模、节点数量等,以满足不同的业务需求。
部署完成后,Doris Manager 将提供集群的连接信息,方便用户快速接入和使用。
环境配置
首先在 环境配置 中设置集群名称,新建方式选择 部署新集群 ,选择要部署的版本并设置数据库 root 用户密码。
当前,Doris Manager 支持部署 1.2.0 版本以上的 SelectDB Doris 以及 Apache Doris 集群。
节点配置
之后,在 节点配置 中对节点机器的访问授权、FE 模块 、BE 模块、WebUI 及自动管控模式进行配置,具体的模块配置说明如下:
- 节点访问授权
- 用户名密码:所有的节点使用同一套用户名密码信息,请确保您提供的用户名密码在所有节点机器可用。
- SSH KEY :输入 SSH KEY 的用户名、口令、KEY 的路径。
- FE 配置
- 通用配置:代表所有的 FE 节点使用的各端口、安装路径、元数据存储目录的配置,系统给出了一个默认值,您可以依据机器环境情况进行修改。
- FE 节点:支持 IPV4 和 IPV6 的方式添加节点,指定节点的角色,FE Follower 必须是奇数,展开自定义配置,可以对 FE 节点的各端口、优先级网络、安装路径以及元数据存储目录进行修改。
- BE 配置
- 通用配置:代表所有的 BE 节点使用的各端口、安装路径、数据存储目录的配置,系统给出了一个默认值,您可以依据机器环境情况进行修改。
- BE 节点:支持 IPV4 和 IPV6 的方式添加节点,展开自定义配置,可以对 BE 节点的各端口、安装路径、数据存储目录进行修改。
- 高级配置
- 开启自动管控模式,Doris Manager 会在机器上为 Doris 进程设置自动拉起守护。如果您不希望 Doris Manager 干预,可以选择关闭自动模式。
- 表名大小写敏感,设置 lower_case_table_names 的值来指定集群的表名大小写是否敏感。
注意:部署版本为 selectdb-doris 开头的部署包才会有 WebUI 模块部署,其他版本的部署无 WebUI 。
部署时 Doris Manager 会对机器节点进行连接状态的检查,只有检查的连接状态为正常,才能继续进行部署。
如果 Doris Manager 对机器节点连接状态检查异常,会有两种类型错误:
- 无法连接错误:代表 Doris Manager 无法通过您在 节点访问授权 中填写的信息来连接节点,如果您选择的是用户名密码的方式,请请确认登录节点的用户名、密码及端口号是否正确。如果您选择的是 SSH KEY 的方式,请确认 SSH KEY 路径、口令及端口是否正确。
- 不符合要求:错误类型有以下几种情况
- 机器的配置不满足 Doris 部署的条件,如交换分区未关闭、最大打开文件数小于 65536、透明大页面未关闭、虚拟内存区域数量不符合要求,您可以按照 Doris Manager 给出的提示来进行修改。
- 端口被占用,您可以更改选择未被使用的端口。
- 对部署路径的检查,您需要保证安装路径所在的目录的空间大于 20 G,并且所在目录没有被占用。
点击部署集群,Doris Manager 会进行集群部署。
在部署成功后,您将看到集群的访问信息,以及初始化的 admin 用户密码,您可以复制保存这些信息。 Doris Manager 不保存用户的密码,这些密码信息仅在这里出现一次。
您可以在集群详情看到数据库的连接信息,但不会看到密码信息。
接下来点击 进入集群 ,即可进入 Doris Manager 查看、运维集群。
集群接管
将现有的 Apache Doris 集群托管到 Doris Manager 进行运维、监控。您只需提供现有集群的相关信息,如集群地址、登录凭证等,Doris Manager 即可自动接管集群,实现对集群的统一管理。
接管后,您可以通过 Doris Manager 对集群进行运维操作,如监控、扩缩容、重启等,同时可以查看集群的运行状态、监控指标等信息,帮助用户更好的了解和管理集群。
环境配置
在新建集群配置页中,输入集群名,并在新建方式中选择 接管现有集群 。
节点配置
在节点配置页面,填入要接管的集群的任意一个 FE 节点 IP、HTTP 端口、JDBC 端口,并配置节点的访问授权。同样的,如果您提供的节点访问用户不是 root 用户,请根据提示指引配置机器环境。所有的节点使用同一套用户名密码信息,请确保您提供的用户名密码在所有节点机器可用。
注意 节点访问授权时填写的节点用户名,需要和部署 Doris 集群的用户名一致,否则接管集群可能失败。
接下来,点击 连接集群 。
如果成功连接上了集群,则可以看到集群的节点状态正常,并且在这里你可以配置 WebUI,如果您接管的集群之前部署过 WebUI,您可以在这里填写 WebUI 节点的信息,包括部署节点及端口号的内容,Doris Manager 会检查节点连接状态以及进程是否存在。
同时您也可以指定自动管控模式,选择是否为 Doris 进程设置自动拉起守护。最后,点击 接管集群 以完成接管。
Doris Manager 会自动完成集群接管,这个阶段大概需要 10-15 分钟。
您可以保留集群的连接信息,Doris Manager 在接管集群时,不会修改、获取您的集群中的用户密码。
集群运维
集群总览
在集群总览,您可以查看当前集群的运行状态,以及 FE(Frontend)和 BE(Backend)节点的存活状态以及数据库与数据量等信息。您也可以在集群详情找到集群的链接访问方式。
在集群总览,您可以对整个集群或者全部 FE、BE 节点进行重启、扩缩容。
节点详情
查看 FE(Frontend)、 BE(Backend)以及 WebUI 节点的状态、端口及版本等信息。
另外在 BE 节点,您可以给 BE 节点设置标签,标签相同的节点组成一个资源组。
资源详情
机器指标包含 CPU、内存、磁盘、网络等,运行指标会实时刷新,频率是 5s/次。您可以点击对应指标标题旁的排序按钮,发现集群中有瓶颈的节点。
集群扩缩容
在集群页面的右上角,您可以进入集群扩缩容功能,对 FE、BE 进行 扩容、缩容操作。
新添加的节点的访问方式需要与新建或接管时提供的访问方式一致。扩容的节点和新部署一样同样支持配置端口、安装路径等信息。
重启集群
在集群模块的右上角,可以进行重启操作。您可以单独重启 FE、BE,也可以重启整个集群。
重启集群可以选择滚动重启或者全量重启,如果您希望依次重启节点,则选择滚动重启,如果您希望快速重启,则选择全量重启。
点击重启后,会进入重启任务并展示任务日志。
配置
编辑配置
Doris Manager 支持通过对配置文件的修改来修改对应参数,您可以在集群模块点击右上角的下拉菜单中的 参数配置 ,在参数配置页面对 FE 或 BE 参数做单个节点或多个节点的修改。
如果您批量修改多个节点配置,所有节点的配置会被覆盖为相同的内容,如需定制部分节点配置,请逐一修改节点配置。确认后会自动重启集群使配置生效。
注意:端口及路径配置无法在此处修改。
配置查看
在节点列表页面,您可以查看每个节点的运行参数,这里会展示所有的运行参数值。
集群升级
Doris Manager 支持对集群进行版本升级,提供全量停服升级和在线滚动升级两种升级模式。您可以在集群详情页,点击右上角下拉菜单中的 集群升级 ,选择目标升级版本及升级模式进行集群的升级操作。
注意 升级时备份数据为可选项,如果您的集群数据量大时备份耗时会比较久,期间服务不可用,如果您不勾选备份,升级不支持回滚。
当前,Doris Manager 支持升级 1.2 版本以上的 Apache Doris 及 SelectDB Doris 集群。对集群版本的升级有版本类型和版本号的相关限制,限制情况如下表所示:
当前版本 | 目标版本 |
---|---|
1.1.1~1.1.4 | 1.1.5 |
1.1.3~1.1.5 | 1.2.1~1.2.6 |
1.2.1~1.2.5 | 1.2.6 |
1.2.4~1.2.6 | 2.0.0~ |
全量停服升级支持回滚,在线滚动升级完成后不可回滚。全量停服升级之后,您可以检查升级完成的集群,如果发现异常可以进行回滚操作。
集群监控
监控
Doris Manager 提供了丰富的预制监控指标,帮助您实时了解集群的运行状况。
监控指标说明:
分类 | 指标名称 | 指标描述 |
---|---|---|
Cluster Overview | FE Node | 集群 FE 总节点数 |
FE Alive | 集群 FE 存活节点数 | |
Used Capacity | 集群中 BE 的已使用空间 | |
BE Node | 集群 BE 总节点数 | |
BE Alive | 集群 BE 存活节点数 | |
Total Capacity | 集群中 BE 可用存储空间 | |
FE JVM Heap Use Rate | 集群中 FE 的 jvm heap 使用率 | |
BE CPU Used Rate | BE CPU idle 使用率 | |
BE Mem Used | BE 内存使用量 | |
BE IO Util | BE 磁盘最大 io util 情况 | |
BE Compaction Score | 每个 BE 的 compaction score | |
Load Rows Rate | 单位时间内的数据导入情况 | |
QPS | 不同 FE 的 qps 情况 | |
99th Latency | 不同 FE 的 99 分位查询延时 | |
Query Statistic | RPS | 单位时间内的不同 FE 的请求 |
QPS | 不同 FE 的 qps | |
99th Latency | 99分位的查询延时 | |
Query Percentile | 查询延时(不同分位) | |
Query Error [1m] | 1 min 内的查询失败率 | |
Connections | 每个 FE 的连接数 | |
Jobs | Broker Load Job | Broker load 任务状态分布 |
Insert Load Job | Insert 任务状态分布 | |
Routine Load Job | Routine load 任务状态分布 | |
Spark Load Job | Spark load 任务状态分布 | |
Broker Load Tendency | Broker load 任务情况 | |
Insert Load Tendency | Insert 任务情况 | |
Routine Load Tendency | Routine load 任务情况 | |
Spark Load Tendency | Spark load 任务情况 | |
SC Job | 正在运行的 schema change 任务数 | |
Report Queue Size | master 节点的 Report Queue Size | |
Rollup Job | 正在运行的 rollup 任务数 | |
Transactions | Txn Begin/Success on FE | FE 上发起的 txn 和成功的 txn 总数 |
Txn Failed/Reject on FE | 单位时间内,BE 的 txn 的 failed 率和 reject 率 | |
Publish Task on BE | BE 上 publish task 得总数 | |
Txn Status on FE | 不同状态的 txn 的数量 | |
Txn Load Bytes/Rows rate | 单位时间内导入的数据的行数和大小 | |
FE | Max Replayed Journal ID | FE 的 Journal ID |
Edit Log Size | FE 的 edit log 大小 | |
Image Write | FE 的 image write 次数 | |
Image Push | FE 的 image push 次数 | |
Image Counter | FE 的 image write 和 push 的次数 | |
Image Clean | Fe image清理成功和失败的情况 | |
Edit log Clean | Fe edit log清理成功和失败的情况 | |
BDBJE Write | BDBJE 的 99 分位写入延时 | |
BDBJE Read | 单位时间内 BDBJE 的读 | |
JVM Heap | Fe jvm heap使用情况 | |
Scheduling Tablets | 数据均衡或者恢复过程中需要被调度的tablet数量 | |
JVM Old GC | Old Gc | |
JVM Young GC | Young gc | |
JVM Old | Jvm old size | |
JVM Young | Jvm young size | |
FE Collect Compaction Score | FE 搜集到的每个 BE 的 compaction score | |
JVM Non Heap | FE 的 jvm 的 non heap 使用情况 | |
JVM Threads | Jvm 的 thread 数量 | |
BE | BE Mem | BE 内存使用量 |
BE CPU Idle | BE CPU idle 使用率 | |
Net Send/Receive Bytes | 网络出/入流量 | |
Disk IO Util | BE 磁盘最大 io util 情况 | |
Disk Usage | BE 的磁盘空间使用率 | |
BE FD Count | BE 上 fd 的使用情况 | |
BE Thread Num | BE 的 thread 分布情况 | |
Tablet Meta Read | 单位时间内 BE 的元数据读取情况 | |
Tablet Meta Write | 单位时间内 BE 的元数据写入情况 | |
Tablet Distribution | BE 上 tablet 的分布情况 | |
BE Compaction Base | 单位时间内 BE 做 base compaction 任务的速率 | |
BE Compaction Cumulate | 单位时间内 BE 做 cumulative compaction 任务的速率 | |
BE Push Bytes | 单位时间内 BE push_request_write 的数据大小 | |
BE Push Rows | 单位时间内 BE push_request_write 的行数 | |
BE Scan Bytes | BE 单位时间内扫描的数据大小 | |
BE Scan Rows | BE 单位时间内扫描的数据行数 | |
BE Tasks | Finish Task Report | 每个 BE 上 task 完成的总数 |
Push Task | 每个 BE 上执行成功的 push task 得任务数量 | |
Push Task Cost Time | 每个 BE 上执行 push task 得耗时 | |
Delete | BE 上执行 delete 任务的总数 | |
Base Compaction | BE 上执行 base_compaction 任务的总数 | |
Cumulative Compaction | BE 上执行 cumulative_compaction 任务的总数 | |
Clone | BE 上执行 clone 任务的总数 | |
Create Rollup | BE 上执行 create_rollup 任务的总数 | |
Schema Change | BE 上执行 schema_change 任务的总数 | |
Create Tablet | BE 上执行 create_tablet 任务的总数 |
告警
您可以根据需要设置监控指标的告警阈值,当指标超过阈值时,Doris Manager 将通过邮件、聊天软件、Webhook 等方式发送告警通知,提醒您及时处理潜在问题。
当您使用 邮件 作为告警方式时,您需要在 Doris Manager 的配置文件中配置您的邮件服务器。
您可以在列表页查看现有告警策略,以及其当前的告警情况。
告警机器人的配置方法
在使用告警机器人时,请保证您可以联通公网。
企业微信
配置方式:填写机器人 Webhook
1、打开企业微信群,在群聊中选择添加群机器人,「新建」一个机器人
2、为机器人命名
3、复制 Webhook
飞书
配置方式:填写机器人 Webhook
添加飞书群聊机器人并获取 Webhook 的方式:
1、打开飞书,进入群聊后,选择群聊-设置-群机器人
2、添加机器人-自定义机器人
3、点击添加
4、获取 Webhook
钉钉
配置方式:填写机器人 webhook
添加钉钉机器人获取 webhook 的方式参见 自定义机器人接入 (opens in a new tab)
1、在钉钉群中找到群设置
2、选择智能群助手
3、选择添加机器人
4、选择添加 自定义 机器人
5、进行安全配置,选择关键词,输入 Alert
6、复制 Webhook
Webhook
Webhook 的方式表示用户可以自定义一个 API ,把 API 服务的完整 URL 提供给 Manager,由 Manager 向 API 发送告警,用户的API 中收到告警后,可以做任何其他处理。
用户API的详细需求举例:
API 方法:POST
API URL格式举例:如 http://172.20.17.107:8004/doris/alert (opens in a new tab)
API 收到的 Manager 后台发送的 body 体内容举例为:
{
"alertContent":"[cluster_guide]testrule1\n时间:2023-12-15 17:32:56\n集群:cluster_guide\n规则名称:testrule1\n报警内容:FE Alive小于50.0\n",
"alertInfo":"FE Alive小于50.0",
"alertName":"testrule1",
"cluster":"cluster_guide",
"time":"2023-12-15 17:32:56"
}
集群日志
日志作为排查问题的工具,是 Manager 必备的功能。 Doris 的日志以文件形式存在,Doris Manager 独立于集群之外,这样能方便您在集群不可用时仍能访问日志排查问题。
进入日志模块,您首先要在左上角选择节点与日志选择完成后,可以在右侧预览日志。
在查看地址时,您可以选择从日志文件的尾部或头部查看,分别对应右上角的 Tail/Head 选项。
同时,您也可以对日志内容进行查询,查询时,可以选择查询内容是否是大小写敏感,以及是否严格匹配。通过查询框右侧的上下按钮,您可以定位页面中的匹配项目。
Doris Manager 并不会一次性将日志加载进前端,而是按需加载。但在查询时,Doris Manager 会尽量从全文检索匹配项。您可以在左侧找到全部的查询结果,并通过点击条目的方式,快速定位到匹配项在日志中的具体位置。
集群巡检
Doris Manager 内置了可能对集群稳定、运行效率产生影响的巡检项,支持对集群进行一键巡检。
巡检的异常状态分为三类:
- 执行失败:在执行过程中,没有成功的返回结果,可能由权限、机器环境设置、集群可用性导致。
- 警告:该类状态的巡检项可能对集群的健康运行产生重大影响,您可以点开 查看建议 了解如何进行修复。
- 提示:该类状态的巡检项可能对集群的健康运行产生一定影响或者带来潜在风险,您可以点开 查看建议 了解如何进行修复。
同时,您还可以通过点击 导出 ,将巡检报告以 PDF 下载到本地。
集群设置
您可以在设置中修改集群名、数据库 root 用户密码、数据库 admin 用户密码、设置集群自动管控模式以及停止托管集群。
WebUI
Doris Manager 在左侧导航栏中提供了便捷的 WebUI 访问入口。在 WebUI 中,用户可以查看数据库中的数据以及其信息,还可以进行 SQL 查询、数据导入、权限管理等操作。