- Copy
impala.metabase-driver.jar
to metabaseplugins
folder. - Restart metabase.
- Add a Impala server.
Additional JDBC connection string options
is used for Authentication to Impala Server.
Using No Authentication
jdbc:impala://localhost:21050;AuthMech=0;
Using Kerberos
jdbc:impala://node1.example.com:21050;AuthMech=1;KrbRealm=EXAMPLE.COM;KrbHostFQDN=node1.example.com;KrbServiceName=impala
For more infomation, reference the Impala JDBC Guide.
(works fine for me)
Metabase Release | Driver Version | Impala Version |
---|---|---|
0.35.4 | 1.0.0-SNAPSHOT-2.6.17 | 2.5.0 |
0.35.4 | 1.0.0-SNAPSHOT-2.6.17 | 3.2.0 |
Download impala JDBC driver from Cloudera
to local lib
folder.
tree lib
lib
└── ImpalaJDBC42.jar
Build:
make install-local-jar
make build
get driver from target/uberjar/impala.metabase-driver.jar
Reference dev.md.
Caused by: com.cloudera.impala.support.exceptions.GeneralException: [Cloudera]ImpalaJDBCDriver Error setting/closing session: Socket is closed by peer..
Maybe your Impala server is protected by Kerberos Authentication. Try below.
kinit
first and run below:
java -Djavax.security.auth.useSubjectCredsOnly=false -jar metabase.jar
jaas.conf
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/path/to/my_keytab"
principal="username@MYREALM"
doNotPrompt=true;
};
java -Djava.security.auth.login.config=jaas.conf -jar metabase.jar
Reference: