您可以通过JMX连接器查询Trino集群中所有节点的JMX信息。通过修改本连接器的配置,可以实现JMX信息定期转储的功能。本连接器通常用于系统监控和调试。
前提条件
已创建DataLake集群或Hadoop集群,并选择了Presto服务,详情请参见创建集群。
配置连接器
进入EMR控制台的Trino服务的配置页面,在服务配置区域,单击jmx.properties页签,修改或新增以下参数,参数值请根据您实际情况修改。
参数 | 描述 |
connector.name | Connector的名称。默认值为jmx。 |
jmx.dump-tables | 是用逗号隔开的MBean(Managed Beans)列表。该配置项指定了每个采样周期哪些MBean指标会被采样并存储到内存中。 如果指标项的名称中包含逗号,则需要使用
|
jmx.dump-period | 设置采样周期,默认为10s。 |
jmx.max-entries | 设置历史记录的最大长度,默认为86400条。 |
数据表
JMX连接器提供了如下两个Schemas:
current
:包含了Trino集群中每个节点当前的MBean。MBean的名称即为current
中的表名,如果MBean的名称中包含非标准字符,则需要在查询时使用双引号(")括起来。示例如下:列出运行时项目中的所有数据项。
SHOW TABLES FROM jmx.current;
获取每个节点的JVM信息。
SELECT node, vmname, vmversion FROM jmx.current."java.lang:type=runtime";
返回信息如下所示。
node | vmname | vmversion --------------+-----------------------------------+----------- ddc4df17-xxx | Java HotSpot(TM) 64-Bit Server VM | 24.60-b09 (1 row)
获取每个节点最大和最小的文件描述符个数指标。
SELECT openfiledescriptorcount, maxfiledescriptorcount FROM jmx.current."java.lang:type=operatingsystem";
返回信息如下所示。
openfiledescriptorcount | maxfiledescriptorcount -------------------------+------------------------ 329 | 10240 (1 row)
history
:包含了配置文件中配置的需要转储的指标对应的数据表。您可以通过以下命令进行查询。SELECT "timestamp", "uptime" FROM jmx.history."java.lang:type=runtime";
返回信息如下所示。
timestamp | uptime -------------------------+-------- 2016-01-28 10:18:50.000 | 11420 2016-01-28 10:19:00.000 | 21422 2016-01-28 10:19:10.000 | 31412 (3 rows)