You need to enable JavaScript to run this app.
导航
常见问题
最近更新时间:2023.06.01 19:21:10首次发布时间:2022.10.10 11:24:48

Q1:为什么修改配置后,Trino 服务重启异常

不同于其它服务组件,Trino 对配置项采取严格校验的策略,只要配置项的变更没有通过 Trino 校验(例如配置项的名称或值不能被识别、配置项冗余等),都会导致服务无法正常启动。因此在变更配置前,您需要仔细检查配置项是否正确,一旦出现因为服务参数变更导致的服务启动异常可以先回滚操作,检查正确后再重新配置。

Q2:为什么 keystore 证书会发生变更

通常 keystore 证书的变更对用户而言是透明,EMR 会在每次启动 Trino 服务时校验 keystore 证书的有效性,如果出现如下情况将会重新生成新的 keystore 证书:

  1. keystore 证书过期。

  2. Keystore 证书文件损坏。

  3. keystore 密码发生变更。

如果您是将 keystore 证书文件拷贝到其它节点或本地使用,当 keystore 证书被刷新后需要您主动同步更新后的 keystore 证书文件。

Q3:任务执行出现 Query exceeded max memory size 错误

当集群级别内存限制耗尽时会出现此问题,解决方法是调大 query.max-memory 参数值。该参数是集群级别的限制,表示查询可以在所有节点上聚合的最大内存。

Q4:任务执行出现 Query exceeded local memory limit 错误

解决方法是将参数 query.max-memory-per-node 值增加到工作节点所在实例内存的 40%,该参数决定查询可以在节点上使用的最大内存。
以下是避免内存问题的建议:

  • 对于 join 操作,当较大的表在右侧时任务可能会出错。因此理想的情况是在 join 的右侧放置较小的表,将较大的表放在左侧。

  • Join 和 Aggregation 构建 HashTable 是比较耗 CPU 和内存的算子,因此建议如果数据量较大时建议开启 spill 策略。