2016-05-18 19 views
0
私は、次のsqoopのコマンドを与えている

Kerberos認証エラー---ハイブ/ HDFSにSqoopインポートSQL

sqoopインポート --connect \「JDBC:のSQLServer://サーバー名:1433; databaseNameの= TESTDB。 IntegratedSecurity機能=真」\ --driver com.microsoft.sqlserver.jdbc.SQLServerDriver \ --table dbo.test_table \ --username hduser \ -P \ --hiveインポート--create-ハイブ \テーブル\ - ハイブテーブルtest_table

次のエラーが表示されます。

com.microsoft.sqlserver.jdbc.SQLServerException:このドライバは統合認証用に構成されていません。

ます。java.lang.UnsatisfiedLinkError:上記のエラーの

解決方法:接続文字列に 追加 "authenticationScheme = JavaKerberos" java.library.pathに

EDIT 1でないsqljdbc_auth。

ために、例えば

sqoop輸入--connect "JDBC:のSQLServer://サーバー名:1433;データベース= DB_NAME; IntegratedSecurity機能=真; authenticationScheme = JavaKerberos" --driver com.microsoft.sqlserver.jdbc。 SQLServerDriver - テーブルテーブル名 - ユーザー名ユーザー名-P - ターゲット - ディレクトリ/パス/宛先/宛先 - カラム "col1、col2、col3" - split-by col1 -m 4

ここでデータベースSQLサーバー上のテーブル。今までのすべての良い。

しかし、Kerberos認証エラーが発生しています。

は "" "によって引き起こさ :java.security.PrivilegedActionException:てGSSException:ありません有効な認証情報(メカニズムレベル:KerberosのTGTを見つけることができませんでした) """

は私にビールの男を入手! !!

+0

こちらをご確認ください。 http://stackoverflow.com/questions/23949890/java-lang-unsatisfiedlinkerror-no-sqljdbc-auth-in-java-library-path – AMITAVA

+0

これはLinuxサーバーです。 接続文字列にauthenticationScheme = JavaKerberosを追加しました。 次のような新しいエラーが発生しました:不正なトークンが検出されました(メカニズムレベル:AP_REPトークンIDが一致しません) –

答えて

3

これはファイアウォールの問題だと思います。

理由:このポート番号「1433」を使用している場合、Windowsファイアウォールでこのポートアクセスを有効にする必要があります。

ソリューション:

ちょうどこのsqoopジョブを実行しながら、ファイアウォールのウィンドウをオフにする[OR]このポートのファイアウォールルールを有効にする「1433年」あなたのために本当に便利

希望これ。

+0

コマンドはエラーなく実行されますが、ハイブデータベースに作成されたテーブルは表示されません。 –

+0

%HIVE_HOME%\ logsファイルにエラーが表示されますか? –