文章目录
Web UI
Trino提供了一个基于web的用户界面(UI),用于监视Trino集群和管理查询。使用协调器config properties中指定的相应端口号,可以通过HTTP或HTTPS在协调器上访问Web UI。它可以使用Web UI properties(https://trino.io/docs/407/admin/properties-web-interface.html)进行配置。
Web UI可以通过 web-ui.enabled属性 完全禁用。
认证
Web界面要求用户进行身份验证。如果Trino未配置为要求身份验证,则可以使用任何用户名,不需要或不允许设置密码。通常,用户使用运行查询时使用的用户名登录。
如果没有安装系统访问控制,那么所有用户都能够查看和终止任何查询。这可以通过使用系统访问控制的查询规则来限制。用户总是有权查看或终止自己的查询。
密码认证
通常,使用基于密码的身份验证方法(如LDAP或密码文件)来保护Trino服务器和Web UI。当Trino服务器配置为密码认证器时,Web界面的认证类型会自动设置为form。在这种情况下,Web UI显示一个接受用户名和密码的登录表单。
固定用户认证
如果用户要求不需要认证就可以访问Web界面,可以通过配置认证类型为“固定”,并在 web-ui.user 中配置用户名,设置一个固定用户名,用于所有Web界面的访问。用户配置属性。如果安装了系统访问控制,则该用户必须具有查看(可能还有终止)查询的权限。
其它认证类型
下面支持的几种认证类型:
- certificate 详情请查看细节Certificate authentication
- kerberos 详情请查看细节Kerberos authentication
- jwt 详情请查看细节JWT authentication
- oauth2 详情请查看细节OAuth 2.0 authentication
对于这些身份验证类型,用户名由用户映射定义
用户接口概览
主页面有一个查询列表,以及诸如惟一查询ID、查询文本、查询状态、完成百分比、用户名和查询来源等信息。当前运行的查询位于页面顶部,后面是最近完成或失败的查询。
可能的查询状态如下:
- QUEUED – Query has been accepted and is awaiting execution.
- PLANNING – Query is being planned.
- STARTING – Query execution is being started.
- RUNNING – Query has at least one running task.
- BLOCKED – Query is blocked and is waiting for resources (buffer space, memory, splits, etc.).
- FINISHING – Query is finishing (e.g. commit for autocommit queries).
- FINISHED – Query has finished executing and all output has been consumed.
- FAILED – Query execution failed.
BLOCKED状态是正常的,但如果它持续存在,则应该进行调查。它有许多潜在的原因:内存不足或分割、磁盘或网络I/O瓶颈、数据倾斜(所有数据都流向少数几个worker)、缺乏并行性(只有少数几个worker可用),或者在给定阶段之后的查询阶段的计算成本很高。此外,如果客户端处理数据的速度不够快(常见的“SELECT *”查询),查询可能处于BLOCKED状态。
有关查询的更详细信息,只需单击查询ID链接。查询详细信息页面包含摘要部分、查询各个阶段的图形表示以及任务列表。可以单击每个任务ID以获取关于该任务的更多信息。
摘要部分有一个按钮,用于终止当前运行的查询。在摘要部分有两种可视化方法:任务执行和时间轴。通过单击JSON链接,可以获得包含关于查询的信息和统计信息的完整JSON文档。这些可视化和其他统计数据可用于分析查询花费的时间。
配置查询历史
以下配置属性会影响如何收集查询历史记录以在Web UI中显示:
- query.min-expire-age
- query.max-history
Trino调优
默认的Trino设置应该可以很好地用于大多数工作负载。如果您的集群面临特定的性能问题,以下信息可能会对您有所帮助。
属性配置
详情请看属性参考(https://trino.io/docs/407/admin/properties.html)
JVM设置
以下内容有助于诊断垃圾收集(GC)问题:
-Xlog:gc*,safepoint::time,level,tags,tid