【问题标题】:Why does an Impala query fail if DDL is executed when impala statestore is down?如果在 impala statestore 关闭时执行 DDL,为什么 Impala 查询会失败?
【发布时间】:2019-07-16 07:22:42
【问题描述】:

在impalahere的官方文档中,statestore组件有一句声明:

如果在 statestore 关闭时发出 DDL 语句,访问 DDL 创建的新对象的查询将失败。

如果我错了,请纠正我,但通过 Impala SQL 所做的元数据更改会从 Impala 目录服务传播到 Impala 守护程序。那么,如果 statestore 宕机,为什么对通过 DDL 生成的新对象的查询会失败呢?

【问题讨论】:

    标签: hadoop impala cloudera-cdh


    【解决方案1】:

    只是你理解的一个小更正,文档说明如下

    称为目录服务的 Impala 组件中继元数据 从 Impala SQL 语句到所有 Impala 守护进程的变化 集群。

    所以基本上它通过 StateStore 将元数据更改传递给 Impala 守护程序。您还将在文档中看到以下内容,

    因为 statestore 的目的是在出现问题时提供帮助 向协调员广播元数据

    因此,任何元数据更改都会由 Catalog 服务通过 Statestore 服务中继到 Impala 守护程序。

    简单来说,当 Statestore 启动并运行时,Impala 守护进程和 Statestore 始终处于连接状态。 Statestore 负责

    • 监控所有 Impala 守护进程并让其他 Impala 守护进程 知道是否在其中一个守护程序上发现了任何健康问题(例如守护程序关闭)。

    • 它在查询时将元数据更改广播到 Impala 守护进程 在 Invalidate Metadata 期间执行。

    希望有帮助!

    【讨论】:

    • 我现在明白了。尽管他们应该提到中继是通过 statestore。感谢您的澄清。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    相关资源
    最近更新 更多