1

I'm trying to connect impala to superset, and when I test the connection prints: "Seems OK!", and when I try to see databases on impala with the SQL Editor in the left side it shows all databases without problems.

Preview of Databases/Tables

But when i write a query and click on "Run Query", it gives the error: "Could not start SASL: b'Error in sasl_client_start (-1) SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Ticket expired)'"

Error running query

I'm running superset with SSL and in production mode (with Gunicorn) and Impala with SSL in a Kerberized Hadoop Cluster, and my impala database config is:

Impala Config

And in the extras I put:

{
    "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": []
}

How can I solve this error? In my superset log it only shows:

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

Versions: Superset 0.36.0, Impyla 0.16.2

TylerH
  • 20,799
  • 66
  • 75
  • 101
guilherme0170
  • 123
  • 1
  • 9
  • Can you please try running simple query first - like SELECT NOW();. It can be related to schema/table etc. you trying to access or file you are trying to upload. – Koushik Roy May 07 '20 at 07:30
  • @KoushikRoy It gives the same error, but sometimes the connections simply doens't work, it enter in an infinite loop, and the superset log only shows this: [Superset Log](https://ibb.co/zQjTGdM) – guilherme0170 May 11 '20 at 13:16
  • Then you need to check with network team/firewall team. Check all the connections points to figure out where its dropping. Going into infinite loop normally means some network connection request is getting refused and it keep on trying to connect. – Koushik Roy May 11 '20 at 13:56

1 Answers1

1

I was able to fix this error doing this steps:

1 - Created service user for celery-worker, created a kerberos ticket for him and created a crontab to renew the ticket.

2 - Runned celery worker from this service user, instead running from root.

3 - Killed an celery-worker that was running in another machine of my cluster

4 - Restarted Impala and Superset

I think this error ocurred because in some queries instead of use the celery worker in my superset machine, it was using the celery worker that was in another machine without a valid kerberos ticket. I could fix this error because when I was reading celery-worker log , it showed that a connection with the celery worker in other machine failed in a query running.

guilherme0170
  • 123
  • 1
  • 9