【问题标题】:Error while running query on Impala with Superset使用 Superset 在 Impala 上运行查询时出错
【发布时间】:2020-08-21 16:37:22
【问题描述】:

我正在尝试将 impala 连接到超集,当我测试连接时打印:“看起来不错!”,当我尝试使用左侧的 SQL 编辑器查看 impala 上的数据库时,它显示所有数据库都没有问题.

Preview of Databases/Tables

但是当我编写查询并单击“运行查询”时,它给出了错误:“无法启动 SASL:sasl_client_start (-1) SASL(-1) 中的 b'错误:一般故障:GSSAPI 错误:未指定GSS 失败。次要代码可能会提供更多信息(票证已过期)'"

Error running query

我在 Kerberized Hadoop 集群中使用 SSL 和生产模式(使用 Gunicorn)和使用 SSL 的 Impala 运行超集,我的 impala 数据库配置是:

Impala Config

在我放的额外内容中:

{
    "metadata_params": {},
    "engine_params":  {
        "connect_args": {
            "port": 21050,
                    "use_ssl": "True", 
                    "ca_cert": "path/to/my/ca_cert.pem",
                    "auth_mechanism": "GSSAPI"
         }
     },
    "metadata_cache_timeout": {},
    "schemas_allowed_for_csv_upload": []
}

我该如何解决这个错误?在我的超集日志中,它只显示:

Triggering query_id: 65
INFO:superset.views.core:Triggering query_id: 65
Query 65: Running query on a Celery worker
INFO:superset.views.core:Query 65: Running query on a Celery worker

版本:Superset 0.36.0、Impyla 0.16.2

【问题讨论】:

  • 您能否先尝试运行简单查询 - 例如 SELECT NOW();。它可能与您尝试访问的架构/表等或您尝试上传的文件有关。
  • @KoushikRoy 出现同样的错误,但有时连接根本不起作用,进入无限循环,超集日志仅显示:Superset Log
  • 那你需要和网络团队/防火墙团队确认。检查所有连接点以找出其掉落的位置。进入无限循环通常意味着某些网络连接请求被拒绝并继续尝试连接。

标签: ssl kerberos apache-superset superset impyla


【解决方案1】:

我能够通过以下步骤修复此错误:

1 - 为 celery-worker 创建了服务用户,为他创建了一个 kerberos 票证并创建了一个 crontab 来更新票证。

2 - 从这个服务用户运行 celery worker,而不是从 root 运行。

3 - 杀死了一个在我集群的另一台机器上运行的 celery-worker

4 - 重新启动 Impala 和 Superset

我认为发生此错误是因为在某些查询中,不是在我的超集机器中使用 celery worker,而是在没有有效 kerberos 票证的情况下使用另一台机器中的 celery worker。我可以修复这个错误,因为当我阅读 celery-worker log 时,它显示在运行查询时与其他机器中的 celery worker 的连接失败。

【讨论】:

    猜你喜欢
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 2013-11-11
    • 1970-01-01
    相关资源
    最近更新 更多