drill icon indicating copy to clipboard operation
drill copied to clipboard

Drill Embedded with TLS: Impossible?

Open thinkORo opened this issue 2 years ago • 0 comments

Describe the bug To secure the communication between client and server, drill-embedded is to be configured with TLS. Following the instructions on the website (https://drill.apache.org/docs/configuring-ssl-tls-for-encryption/) I always get the error message: Error: Failure in connecting to Drill: org.apache.drill.exec.rpc.RpcException: CONNECTION : io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:31010 (state=,code=0)

To Reproduce Steps to reproduce the behavior:

  1. Download Apache Drill from Drill website
  2. Create keystore.jks and truststore.jks via keytool
  3. Create drill-override.conf (see "Additional context" below)
  4. Start drill-embedded with required "-u" JDBC parameter to define TLS (see "Additional context" below)
  5. See error

Expected behavior drill-embedded starts without any error message, sqlline interface is available, respective ports (8047, 31010) are bound

Error detail, log output or screenshots Error: Failure in connecting to Drill: org.apache.drill.exec.rpc.RpcException: CONNECTION : io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:31010 (state=,code=0)

Drill version 1.21.1

Additional context

  1. drill-override.conf:
drill.exec: {
  cluster-id: "drillbits1",
  zk.connect: "localhost:2181",
  security.user.encryption.ssl.enabled: true,
  ssl: {
    protocol: "TLSv1.2",
    keyStoreType: "JKS",
    keyStorePath: "/InstallFolder/apache-drill-1.21.1/conf/keystore.jks",
    keyStorePassword: "securePasswd",
    keyPassword: "securePasswd",
    trustStoreType: "JKS",
    trustStorePath: "/InstallFolder/apache-drill-1.21.1/conf/truststore.jks"
    trustStorePassword: "securePasswd",
    provider: "JDK",
    useHadoopConfig: false
  }
}
  1. drill-embedded:
cd /InstallFolder/apache-drill-1.21.1
bin/drill-embedded -u "jdbc:drill:schema=data.query;drillbit=localhost:31010;enableTLS=true;trustStorePath=/InstallFolder/apache-drill-1.21.1/conf/truststore.jks;trustStorePassword=securePasswd"

thinkORo avatar Jul 17 '23 03:07 thinkORo