附录 B - Impala 故障排除(翻译)

附录 B - Impala 故障排除

使用如下步骤诊断与调试 Impala 各个方面的问题: html

一般来讲,假如在 Impala 中查询执行失败,能够在 Hive 里再试着运行一下。 web

  • 假如查询在 Impala 和 Hive 里都运行失败,这通常是由于你的查询有问题或者你的环境有问题:
    • 检查 Language Reference 确认你的查询没问题
    • 检查 Impala 全部日志的内容,可能有对肯定问题来源有帮助
  • 假如在 Impala 中失败而 Hive 中成功,一般是由于你 的 Impala 安装有问题

下表中列出了常见问题和可能的解决办法: sql

现象 shell

解释 浏览器

建议 服务器

表链接失败(Joins fail to complete) oop

多是内存不足。当执行链接操做时,待链接的全部数据集合中的全部数据都被载入到内存中。数据集可能很是大,h 测试

Add more memory to your system or join smaller data sets. ui

查询返回结果不正确(Queries return incorrect results) spa

Impala 元数据多是过时的

按照 语言手册里的 REFRESH 语法来刷新 Hive 元数据

查询返回结果慢(Queries are slow to return results)

一些 impalad 实例可能没启动。使用浏览器登陆到运行 Impala state store 的主机,访问地址是:http://hostname:port/metrics。

  注意:替换上面的主机名和端口号为你运行 Impala state store 服务的主机名以及 web 服务器端口。端口默认是25010。
页面上列出的 impalad 实例的个数应当与集群中安装的 impalad 实例的个数一致。每一个数据节点上都应当安装 impalad 实例。

确认全部数据节点上都安装了 Impala。启动全部没运行的 impalad 实例

查询返回结果慢(Queries are slow to return results)

Impala 可能没有配置使用本地校验。本地校验使用机器特定的方法计算 HDFS 数据的校验和,很是快速(Native checksumming uses machine-specific instructions to compute checksums over HDFS data very quickly)。检查 Impala l日志,假如发现 "INFO util.NativeCodeLoader: Loaded the native-hadoop" 信息,则没有启用本地校验。

参照 Impala 安装后配置,确保 Impala 使用本地校验

查询返回结果慢(Queries are slow to return results)

Impala 可能没有配置使用数据位置跟踪(data locality tracking)。

参照 Impala 安装后配置,测试 Impala 是否启用数据位置跟踪,必要时启用

尝试完成 Impala 任务如执行 INSERT-SELECT 操做失败。Impala  日志中提示文件由于权限拒绝没法打开

这多是权限问题形成的。例如,你可能以 hive 用户使用 Hive shell 建立了一个表。表建立以后,你可能尝试执行其余操做,例如向表中 INSERT-SELECT 数据。由于这个表使用 hive 用户建立的,而执行 INSERT-SELECT 操做的是另一个用户,这一操做可能会由于权限问题而失败。

一般应确保 Impala 用户有足够的权限。在以前的例子里,确保 Impala 用户对 Hive 用户建立的表有足够的权限。

相关文章
相关标签/搜索