JDBCおよびKerberos認証を使用してHiveに接続する際の例外

メタデータ

JavaでJDBCおよびKerberos認証を使用してHiveに接続しようとしています。そのために、次のコードを思いつきました。

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.security.UserGroupInformation;

public class DbManager {
private static Connection hiveConnection;
// get Hive Connection
public static Connection qwtHiveConnection() throws IOException, SQLException {

    System.out.println("Preparing Hive connection1");
    Configuration conf = new Configuration();
    conf.set("hadoop.security.authentication", "Kerberos");
    UserGroupInformation.setConfiguration(conf);
    UserGroupInformation.loginUserFromKeytab("[email protected]", "path of keytab");
    // Hive Connection
    try {
        Class.forName("org.apache.hive.jdbc.HiveDriver");
        if(hiveConnection == null) {
            hiveConnection = DriverManager.getConnection("jdbc:hive2://abcd1dq000.hlc.abc.qw.com:10000/finance;principal=hive/[email protected]", "usrname", "pwd");
            return hiveConnection;
        } else {
        return hiveConnection;
        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        return null;
    } catch (SQLException e) {
        e.printStackTrace();
        return null;
    }
}
}

コマンド「hadoopversion」からわかるHadoopバージョン:Hadoop 2.7.3.2.6.2.0-205このコマンドは、/ usr / hdp / 2.6.2.0-205 / hadoop /hadoop-common-2.7.3.2.6.2を使用して実行されました。 .0-205.jar

プロジェクトで次のjarファイルを使用しています。

hive-jdbc-2.2.0.jar,
postgresql-9.4.1212.jar,
apache-commons.jar,
slf4j-api-1.7.25.jar,
hadoop-commons-2.6.2.jar,
guava-18.0.jar,
commons-configuration-1.9.jar,
commons-lang-2.6.jar,
hadoop-auth-2.6.2.jar,
hadoop-core-1.2.0.jar

jarを実行すると、例外が発生します。

Preparing Hive connection1
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Kerberos Connected
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hive/service/rpc/thrift/TCLIService$Iface
    at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at com.dbconnections.gphive.DbManager.getHiveConnection(DbManager.java:35)
    at com.recordcount.dao.GpHiveRecords.getHiveTableCount(GpHiveRecords.java:93)
    at com.recordcount.entry.StartCount.main(StartCount.java:13)
Caused by: java.lang.ClassNotFoundException: org.apache.hive.service.rpc.thrift.TCLIService$Iface
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 6 more
イェンス

次の依存関係を見逃しているようです。

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-service-rpc</artifactId>
    <version>2.2.0</version>
</dependency>

このjarには、欠落しているインターフェイスが含まれています。

更新:

あなたも必要なようです:

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-service</artifactId>
    <version>2.2.0</version>
</dependency>

そしてmybe他の瓶。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonはpyhs2とKerberos認証を使用してHiveに接続します

分類Dev

JDBCを介してSciDBに接続する際の例外

分類Dev

JDBCを使用してMySQL DBに接続する際の問題

分類Dev

Reactおよびaxiosフロントエンドを使用してNode.jsおよびMongoDBバックエンドに接続する際の問題

分類Dev

JDBCを使用してJavaからHiveに接続する

分類Dev

IntelliJ(RiderおよびIDEA)は、OAuth2および2要素認証を使用してJIRAタスクサーバーに接続します

分類Dev

jdbcとKerberos委任を使用してSAPHANADBに接続します

分類Dev

jdbcとKerberos委任を使用してSAPHANADBに接続します

分類Dev

Kerberosセキュリティを使用してMapperでHIVEに接続する

分類Dev

Kerberos認証を備えたsimbaodbcドライバーを使用してmongodbに接続します

分類Dev

dockerを使用してmetricbeatをelasticsearchおよびkibanaに接続する方法

分類Dev

接続文字列を使用してAzureに認証する

分類Dev

接続文字列を介してAzureBlobStorageにアクセスする際の認証の失敗

分類Dev

KerberosおよびLDAPを使用したJava Spring SSO認証

分類Dev

ExpressJS、およびAWSDocumentDB接続の認証に失敗しました

分類Dev

ExpressJS、およびAWSDocumentDB接続の認証に失敗しました

分類Dev

CloudBuild-execラッパーを使用してCloudSQL Proxy +その他のGCPリソースに接続する際の認証情報エラー

分類Dev

Spring DataHadoopを使用してClouderaQuickStart VMHbaseに接続する際の不明なホスト例外

分類Dev

ring / compojureを使用してclojurenREPLに接続する際の問題

分類Dev

WISEパッケージインストーラーを使用して作成されたカスタムアプリケーションパッケージでKerberosおよび/またはNTLM認証の失敗に遭遇する

分類Dev

kerberosおよびldapを介して認証しているユーザーも含め、すべての新規ユーザーに対してecryptfsを有効にします

分類Dev

SSL(自己署名)証明書を使用してSpringおよびHibernateを介してMariaDBを接続します

分類Dev

PythonpyodbcはSQLServer認証を使用してSQLServerに接続します

分類Dev

キー認証情報を使用してAWSのelasticsearchに接続します

分類Dev

PQconnectdb()を使用してWindowsでpqサーバーに接続する場合の認証について

分類Dev

Spnego / KerberosおよびApacheのHttpClientで認証するにはどうすればよいですか?

分類Dev

統合認証を使用してPHPでMSSQLサーバーに接続する

分類Dev

DseAuthenticatorおよびDseAuthorizerを使用してWindowsからクラスターをcassandraにPythonで接続する

分類Dev

MongooseおよびSRV接続文字列を使用してMongoDBAtlasにデータを挿入する

Related 関連記事

  1. 1

    Pythonはpyhs2とKerberos認証を使用してHiveに接続します

  2. 2

    JDBCを介してSciDBに接続する際の例外

  3. 3

    JDBCを使用してMySQL DBに接続する際の問題

  4. 4

    Reactおよびaxiosフロントエンドを使用してNode.jsおよびMongoDBバックエンドに接続する際の問題

  5. 5

    JDBCを使用してJavaからHiveに接続する

  6. 6

    IntelliJ(RiderおよびIDEA)は、OAuth2および2要素認証を使用してJIRAタスクサーバーに接続します

  7. 7

    jdbcとKerberos委任を使用してSAPHANADBに接続します

  8. 8

    jdbcとKerberos委任を使用してSAPHANADBに接続します

  9. 9

    Kerberosセキュリティを使用してMapperでHIVEに接続する

  10. 10

    Kerberos認証を備えたsimbaodbcドライバーを使用してmongodbに接続します

  11. 11

    dockerを使用してmetricbeatをelasticsearchおよびkibanaに接続する方法

  12. 12

    接続文字列を使用してAzureに認証する

  13. 13

    接続文字列を介してAzureBlobStorageにアクセスする際の認証の失敗

  14. 14

    KerberosおよびLDAPを使用したJava Spring SSO認証

  15. 15

    ExpressJS、およびAWSDocumentDB接続の認証に失敗しました

  16. 16

    ExpressJS、およびAWSDocumentDB接続の認証に失敗しました

  17. 17

    CloudBuild-execラッパーを使用してCloudSQL Proxy +その他のGCPリソースに接続する際の認証情報エラー

  18. 18

    Spring DataHadoopを使用してClouderaQuickStart VMHbaseに接続する際の不明なホスト例外

  19. 19

    ring / compojureを使用してclojurenREPLに接続する際の問題

  20. 20

    WISEパッケージインストーラーを使用して作成されたカスタムアプリケーションパッケージでKerberosおよび/またはNTLM認証の失敗に遭遇する

  21. 21

    kerberosおよびldapを介して認証しているユーザーも含め、すべての新規ユーザーに対してecryptfsを有効にします

  22. 22

    SSL(自己署名)証明書を使用してSpringおよびHibernateを介してMariaDBを接続します

  23. 23

    PythonpyodbcはSQLServer認証を使用してSQLServerに接続します

  24. 24

    キー認証情報を使用してAWSのelasticsearchに接続します

  25. 25

    PQconnectdb()を使用してWindowsでpqサーバーに接続する場合の認証について

  26. 26

    Spnego / KerberosおよびApacheのHttpClientで認証するにはどうすればよいですか?

  27. 27

    統合認証を使用してPHPでMSSQLサーバーに接続する

  28. 28

    DseAuthenticatorおよびDseAuthorizerを使用してWindowsからクラスターをcassandraにPythonで接続する

  29. 29

    MongooseおよびSRV接続文字列を使用してMongoDBAtlasにデータを挿入する

ホットタグ

アーカイブ