2016-11-16 12 views
0

Javaを使用してMysqlからHDFSにロードしようとしています。私のHadoopバージョン2.7.2とSqoop 1.4.6。 PriviledgedActionException :原因xxxxは:org.apache.hadoop.ipc.RemoteException:私は次の例外SqoopからMysqlをHadoopにインポートするhdfsを使用するJavaを使用する

ERRORのsecurity.UserGroupInformationを取得していますサーバーIPC バージョン9は、クライアントのバージョン4 16/11/16と通信できません夜05時40分57秒 ERRORのtool.ImportTool:インポートジョブを実行するにIOExceptionが発生しました: org.apache.hadoop.ipc.RemoteException:9 は、クライアントのバージョンと通信できないサーバのIPC版は4

ここ

コード

です
public void importData() { 
    SqoopOptions options = new SqoopOptions(); 
    options.setConnectString("jdbc:mysql://localhost:3306/Sample"); 
    options.setUsername("UserName"); 
    options.setPassword("Password"); 
    options.setNumMappers(1); 
    options.setSqlQuery("SELECT * FROM categories WHERE $CONDITIONS  limit 10"); 
    options.setHadoopMapRedHome(HADOOP_HOME); 
    options.setTargetDir(WAREHOUSE_DIR); 
    int ret = new ImportTool().run(options); 
} 

私は、この問題をソートするために、次の依存関係

apache-logging-log4j.jar 
commons.io_2.0.1.jar 
commons-cli-1.2.jar 
commons-configuration-1.7.jar 
commons-httpclient-3.0.1.jar 
commons-lang-2.4.jar 
commons-logging-1.1.1.jar 
hadoop-core-1.2.1.jar 
jackson-core-asl-1.8.8.jar 
jackson-mapper-asl-1.8.8.jar 
mysql-connector-java-5.1.34.jar 
sqoop-1.4.6.jar 

ヘルプ私を追加しています。

答えて

0

Hadoopバージョン2.7.2を使用しています。

が、依存関係では、Hadoopの1.xのため

であるHadoopのコア-1.2.1.jarは、Hadoopの-common.jarをしてhadoop-core-1.2.1.jarを交換しました - >https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common/2.7.2

が、これは

+0

を役に立てば幸い私はhadoopコアjarを削除し、hadoop-common.jarを追加しました。2.7.2他のいくつかの依存関係を求めました。次の例外が発生しました:java.lang.ClassNotFoundException:org.apache.hadoop.util.PlatformName。 –

+0

これをhttps://mvnrepository.com/artifact/org.apache.hadoop/hadoop-auth/2.7.2 –

+0

に追加します。sqoopがテーブルをhdfsにエクスポートする別の方法を提供する場合、この方法を実行する必要があります。そのような方法の1つは、sqlを使用してファイルにデータを書き込んだり、そのファイルをhdfs.Fieldデリミタおよびラインデリミタにコピーすることです。例