我试图将impala连接到superset,当我测试连接时,打印出。"似乎没问题!",当我尝试在impala上用左侧的SQL编辑器查看数据库时,它显示所有数据库都没有问题。
但是当我写了一个查询,然后点击 "运行查询",它给出了错误。"Could not start SASL: b'Error in sasl_client_start (-1) SASL(-1): generic failure: GSSAPI错误。未指定的GSS故障。小代码可能提供更多信息(票据过期)'"
我在Kerberized Hadoop集群中使用SSL和生产模式(使用Gunicorn)运行superset,使用SSL运行Impala,我的Impala数据库配置是。
而在额外的我把。
{
"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": []
}
我怎么才能解决这个错误?在我的superset日志中,它只显示。
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。
我可以通过以下步骤来解决这个错误。
1 - 为celery -worker创建服务用户,为他创建一个kerberos ticket,并创建一个crontab来更新这个 ticket.
2 - 从这个服务用户运行芹菜工人,而不是从root运行。
3 - 杀死了一个在我的集群的另一台机器上运行的芹菜工人。
4 - 重新启动翼虎和超级组。
我认为出现这个错误的原因是,在一些查询中,没有使用我的superset机器中的celery worker,而是使用另一台机器中没有有效kerberos ticket的celery worker。我可以修复这个错误,因为当我读取celery-worker日志时,它显示在运行的查询中与其他机器上的celery worker连接失败。