KerberosされたHadoop環境でbeelineでHiveに接続するときのエラーと対処法をご紹介します。
beeline -u "jdbc:hive2://hostname:10000/default" で接続する
Error 1
ERROR org.apache.thrift.server.TThreadPoolServer: [HiveServer2-Handler-Pool: Thread-40]: Error occurred during processing of message.java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Unsupported mechanism type PLAIN
対処法
Kerberosされた環境で接続URLにprincipalを指定する必要がある。
beeline -u "jdbc:hive2://hostname:10000/default;principal=user1@HADOOP" で接続する
Error 2
Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000/default;principal=user1@HADOOP: Kerberos principal should have 3 parts: user1@HADOOP (state=08S01,code=0)
対処法
principalにはuser/hostname@REALM User、Hostname、Realm3つのPartが必要
Error 3
Caused by: org.ietf.jgss.GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7) - LOOKING_UP_SERVER)
Caused by: sun.security.krb5.KrbException: Server not found in Kerberos database (7) - LOOKING_UP_SERVER
Caused by: sun.security.krb5.Asn1Exception: Identifier doesn't match expected value (906)
対処法
principalには hive/hiveserver2_hostname@REALM のように、user HiveとHiveserver2のホスト名を指定することが必要
beeline -u "jdbc:hive2://192.168.10.154:10000/default;principal=hive/ip-192-168-10-154.ap-northeast-1.compute.internal@HADOOP"
参考
Evernote はあなたがすべてを記憶し、手間をかけずに整理できるようにお手伝いします。Evernote をダウンロードする |
この記事がお役にたちましたらシェアをお願いします:)
0 件のコメント:
コメントを投稿