ssl 在具有超集的Impala上运行查询时出错

ruyhziif  于 2022-11-14  发布在  Impala
关注(0)|答案(1)|浏览(151)

我试着把 Impala 和超集连接起来,当我测试连接时,打印出:“看起来还可以!",当我试图用左侧的SQL编辑器查看 Impala 上的数据库时,它显示所有数据库都没有问题。
Preview of Databases/Tables
但是当我写一个查询并点击“运行查询”时,它会给出错误:“无法启动SASL:b 'sasl客户端启动(-1)SASL(-1)中出错:常规故障:GSSAPI错误:未指定的GSS失败。次要代码可能提供详细信息(票证已过期)'“
Error running query
我正在Kerberized Hadoop集群中以生产模式(使用Gunicorn)运行使用SSL的超集和使用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

版本:超集0.36.0,导入0.16.2

rmbxnbpk

rmbxnbpk1#

我可以通过以下步骤修复此错误:
1 -为celery-worker创建了服务用户,为其创建了kerberos票证,并创建了crontab以续订票证。
2 -从此服务使用者执行celery worker,而不是从root执行。
3 -杀死了在集群的另一台计算机上运行的celery-worker
4 -重新启动的Impala和Superset
我认为发生这个错误是因为在一些查询中,它没有使用我的超集机器中的celery worker,而是使用了另一台机器中的celery worker,而没有有效的Kerberos票证。我可以修复这个错误,因为当我阅读celery-worker日志时,它显示在运行查询时与另一台机器中的celery worker的连接失败。

相关问题