tencent cloud

弹性 MapReduce

动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
约束与限制
技术支持范围
产品发行版
购买指南
EMR on CVM 计费说明
EMR on TKE 计费说明
EMR Serverless HBase 计费说明
快速入门
EMR on CVM 快速入门
EMR on TKE 快速入门
EMR on CVM 操作指南
规划集群
管理权限
配置集群
管理集群
管理服务
监控告警
智能管家
EMR on TKE 操作指南
EMR on TKE 简介
配置集群
管理集群
管理服务
监控运维
应用分析
EMR Serverless HBase 操作指南
EMR Serverless HBase 产品简介
配额与限制
规划实例
管理实例
监控告警
开发指南
EMR 开发指南
Hadoop开发指南
Spark 开发指南
HBASE开发指南
Phoenix on Hbase 开发指南
Hive 开发指南
Presto开发指南
Sqoop 开发指南
Hue 开发指南
Oozie 开发指南
Flume 开发指南
Kerberos 开发指南
Knox 开发指南
Alluxio 开发指南
Kylin 开发指南
Livy 开发指南
Kyuubi 开发指南
Zeppelin 开发指南
Hudi 开发指南
Superset 开发指南
Impala 开发指南
Druid 开发指南
Tensorflow 开发指南
Kudu 开发指南
Ranger 开发指南
Kafka 开发指南
Iceberg 开发指南
StarRocks 开发指南
Flink 开发指南
JupyterLab 开发指南
MLflow 开发指南
实践教程
EMR on CVM 运维实践
数据迁移实践
自定义伸缩实践教程
API 文档
History
Introduction
API Category
Cluster Resource Management APIs
Cluster Services APIs
User Management APIs
Data Inquiry APIs
Scaling APIs
Configuration APIs
Other APIs
Serverless HBase APIs
YARN Resource Scheduling APIs
Making API Requests
Data Types
Error Codes
常见问题
EMR on CVM常见问题
服务等级协议
联系我们

Impala 运维手册

PDF
聚焦模式
字号
最后更新时间: 2025-01-03 15:02:25

数据变大,Impala 启动失败

背景

当 Impala 中的元数据信息太多(例如几百个库、几万个表),Impala 在启动的时候,需要把这些元数据信息广播到所有节点上,默认这个动作的超时时间是10s。当元数据较大且较易触发时,可通过在 Impala 的启动配置文件 /data/Impala/conf/impalad.flgs 中设置 -statestore_subscriber_timeout_seconds=100

问题排查确定

通常出现这个问题,会在 Impala 的日志 /data/emr/impala/logs 中出现如下内容:
Connection with state-store lost
Trying to re-register with state-store

配置低导致,Impala 查询慢

虽然 Impala 不是内存数据库,但在处理大型表、大型数据时,还是应该为 Impala 分配更多的物理内存,一般建议是使用128G或者更多的内存,并分配80%给到 Impala 进程。

SELECT 语句失败

可能原因如下:
1. 由于某个特定节点的性能,容量或网络问题而导致超时。查看 impala log,确定是什么节点,检查该节点机器网络是否有问题。
2. join 查询使用过多的内存,导致查询自动取消。检查 join 语句是否合理,或者加大机器内存。
3. 受节点上如何生成本机代码以处理查询中特定 WHERE 子句的影响。例如,可以生成特定节点的处理器不支持的机器指令。如果日志中的错误消息表明原因是非法指令,请考虑暂时关闭本机代码生成,然后再次尝试查询。
4. 格式错误的输入数据,例如具有超长行的文本数据文件,或者与 CREATE TABLE 语句的 FIELDS TERMINATED BY 子句中指定的字符不匹配的分隔符。检查是否有超长的数据。并检查建表语句,是否制定了正确的分隔符。

设置查询的使用内存限制

[localhost:27001] > set mem_limit=3000000000;
MEM_LIMIT set to 3000000000
[localhost:27001] > select 5;
Query: select 5
+---+ |5 | +---+ |5 | +---+
[localhost:27001] > set mem_limit=3g;
MEM_LIMIT set to 3g
[localhost:27001] > select 5;
Query: select 5
+---+ |5 | +---+ |5 | +---+
[localhost:27001] > set mem_limit=3gb;
MEM_LIMIT set to 3gb
[localhost:27001] > select 5;
+---+
|5 | +---+ |5 | +---+
[localhost:27001] > set mem_limit=3m;
MEM_LIMIT set to 3m
[localhost:27001] > select 5;
+---+
|5 |
+---+
|5 |
+---+
[localhost:27001] > set mem_limit=3mb; MEM_LIMIT set to 3mb [localhost:21000] > select 5;
+---+ |5 | +---+

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈