在网上找了下使用kerberos认证来通过jdbc连接impala,发现基本都是报错了。我使用两种方法jdbc连接impala,分别是通过hive来连接,还有通过impala自身的jdbc驱动来连接。
第一种:(使用impala自身的jdbc驱动来连接,本例子是在impala的demo中进行了修改,添加了kerberos认证)
pom文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxxx.tlq</groupId>
<artifactId>tlq-impala-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<description>Cloudera Impala JDBC Example for CDH 5.5.2</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<impala.jdbc.version>2.5.30</impala.jdbc.version>
<uber.jar.name>cloudera-impala-jdbc-example-uber.jar</uber.jar.name>
<uber.jar.main.class>com.cloudera.example.ClouderaImpalaJdbcExample</uber.jar.main.class>
</properties>
<dependencies>
<!-- These dependencies provided by your local repo -->
<dependency>
<groupId>com.cloudera.impala.jdbc</groupId>
<artifactId>hive_metastore.jar</artifactId>
<version>${impala.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.cloudera.impala.jdbc</groupId>
<artifactId>hive_service.jar</artifactId>
<version>${impala.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.cloudera.impala.jdbc</groupId>
<artifactId>ImpalaJDBC41.jar</artifactId>
<version>${impala.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.cloudera.impala.jdbc</groupId>
<artifactId>ql.jar</artifactId>
<version>${impala.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.cloudera.impala.jdbc</groupId>
<artifactId>TCLIServiceClient.jar</artifactId>
<version>${impala.jdbc.version}</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libfb303</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.11</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.11</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6