Как подключить куст в безопасном режиме (Kerberos + SSL) с помощью JDBC? - PullRequest
0 голосов
/ 26 июня 2018

Мне нужно подключить куст (kerberos + SSL) с использованием jdbc, я пробовал этот код, но получаю ошибку вроде:

Исключение в потоке "main" java.lang.NoClassDefFoundError: org / apache / hadoop / util/ VersionInfo в org.apache.hadoop.hive.shims.ShimLoader.getMajorVersion (ShimLoader.java:155) в org.apache.hadoop.hive.shims.ShimLoader.loadShims (ShimLoader.java:134) в org.aph.hive.shims.ShimLoader.getHadoopThriftAuthBridge (ShimLoader.java:120) при org.apache.hive.service.auth.HttpAuthUtils.getKerberosServiceTicket (HttpAuthUtils.java:52) в org.apache.hive.jdbc.HttpKerberosRequestInterceptor.process (HttpKerberosRequestInterceptor.java: 63) в org.apache.http.protocol.ImmutableHttpProcessor.process (ImmutableHttpProcessor.java:109) в org.apache.http.protocol.HttpRequestExecutor.preProcess (HttpRequestExecutor.java:17.acheh или org.impl.client.DefaultRequestDirector.execute (DefaultRequestDirector.java:518) в org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java: 906) по адресу org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java:827) по адресу org.apache.thrift.transport.THttpClient.flushUsingHttpClient (THttpClient.java) at2thrift.transport.THttpClient.flush (THttpClient.java:297) в org.apache.thrift.TServiceClient.sendBase (TServiceClient.java:65) в org.apache.hive.service.cli.thrift.TCLIService $ Client.se_ $TCLIService.java:141) в org.apache.hive.service.cli.thrift.TCLIService $ Client.OpenSession (TCLIService.java:133) в org.apache.hive.jdbc.HiveConnection.createHttpTransport (HiveConnection.java:2в org.apache.hive.jdbc.HiveConnection.openTransport (HiveConnection.java:201) в org.apache.hive.jdbc.HiveConnection. (HiveConnection.java:168) в org.apache.hive.jdbc.HiveDriver.connect (HiveDriver.java:105) в java.sql.DriverManager.getConnection (DriverManager.java:664) в java.sql.DriverManager.getConnection (DriverManager.java:270) в prodhive.main (prod_test.java:25). Причина:java.lang.ClassNotFoundИсключение: org.apache.hadoop.util.VersionInfo

private static String driverName = "org.apache.hive.jdbc.HiveDriver";

public static void main(String[] args) throws SQLException {
    try {
        Class.forName(driverName);
        System.out.println("Driver Registered");

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        System.out.println("Exception Occured");
        System.exit(1);
    }

    System.out.println("before connection");
    Connection con = DriverManager.getConnection(
            ("jdbc:hive2://abc.xyz.com:10000/default;principal=hive/_HOST@XYZ.COM;KrbRealm=PQR.COM;KrbHostFQDN=abc.xyz.com;KrbServiceName=hive;KrbAuthType=0;SSLKeyStore=/home/arcosadmin/va.xyz.com.jks;SSLKeyStorePwd=1234;transportMode=http;httpPath=cliservice;SSL=1;AuthMech=3;UID=HS2;PWD=1234")

    System.out.println("Connection Established Successfully");
    Statement stmt = con.createStatement();
    System.out.println("Table Creation Started");
    String tableName = "hive_con";
    stmt.executeUpdate("CREATE TABLE IF NOT EXISTS " + tableName + "(eid int, name String,destination String)");
    System.out.println("Table have been created");
    con.close();
    System.out.println("Connection Closed");

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...