Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sqlalchemy_dremio arrow flight ssl certificates #23

Open
jsanko9 opened this issue Jul 26, 2022 · 2 comments
Open

sqlalchemy_dremio arrow flight ssl certificates #23

jsanko9 opened this issue Jul 26, 2022 · 2 comments

Comments

@jsanko9
Copy link

jsanko9 commented Jul 26, 2022

I'm having same issue as #22 , since drivers are not available (I have been told they are "legacy"), I'm trying to do the same with new driver and Dremio 22.0.3

However I am still getting connection issues, which (I think) are caused self signed certificate. Unfortunately the only message I'm getting is this:

File "/home/superset/.local/lib/python3.8/site-packages/sqlalchemy_dremio/db.py", line 20, in connect return Connection(c) File "/home/superset/.local/lib/python3.8/site-packages/sqlalchemy_dremio/db.py", line 53, in __init__ client.authenticate(HttpDremioClientAuthHandler(splits[0].split("=")[1], splits[1].split("=")[1])) File "pyarrow/_flight.pyx", line 1177, in pyarrow._flight.FlightClient.authenticate File "pyarrow/_flight.pyx", line 69, in pyarrow._flight.check_flight_status pyarrow._flight.FlightUnavailableError: gRPC returned unavailable error, with message: failed to connect to all addresses

I would like to confirm this, but before that, could you advise me with:
1 - Whether sqlalchemy_dremio supports Apache Arrow Flight SQL Driver ?
2 - How to disable cert verification in Superset or specify crt/pem file ?

Since I'm trying to run this on Debian, I'm afraid I can't use default store until its supported there.

I tried with your test:
DREMIO_CONNECTION_URL="dremio+flight://user:pass@server:32010/dremio;DisableCertificateVerification=0&DisableCertificateValidation=0"

@narendrans
Copy link
Owner

Please add the following property to dremio.conf, restart the server and try again:

services.flight.auth.mode: "legacy.arrow.flight.auth"

@mcdeck
Copy link
Contributor

mcdeck commented Jan 3, 2023

Not sure this helps, but I also had problems connection Superset to Dremio using Flight, and after some fiddling around this worked for me. Using legacy auth actually broke it (again) for me, so I commented it out.

  1. Change dremio.conf and enable SSL:
services: {
  # ...
  flight.use_session_service: true
  # flight.auth.mode: "legacy.arrow.flight.auth"
  flight.ssl.enabled: true
  flight.ssl.auto-certificate.enabled: true
}
  1. Use this kind of connection string:
    dremio+flight://superset:XXXXXX@dremio:32010/dremio?UseEncryption=true&disableCertificateVerification=true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants