2016-12-31 3 views
-1

私はhadoopとsqoopの言葉で新しくなりました。私はhadoop 2.7.3(擬似モード)をインストールし、システム上正常に動作しています。ハーフトープスローとのsqoopの統合ClassNotFoundException

私はsqoopとの統合を望みます。私はsqoop sqoop-1.99.7-bin-hadoop200を使用しています。

1)Iは、tarファイルを抽出し、.bashrcファイルには/ usr/local/sqoop

2)セットSqoop路内に抽出されたコンテンツを移動します。

Snapshot of **.bashrc** file 3)

を起動し、エラーメッセージ、次の取得/usr/local/sqoop/server/lib/sqoop.shサーバーにアクセスしてください。

[email protected]:/usr/local/sqoop/server/lib$ sqoop.sh server start 
Setting conf dir: /usr/local/sqoop/conf 
Sqoop home directory: /usr/local/sqoop 
Starting the Sqoop2 server... 
0 [main] INFO org.apache.sqoop.core.SqoopServer - Initializing Sqoop server. 
34 [main] INFO org.apache.sqoop.core.PropertiesConfigurationProvider - Starting config file poller thread 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration 
    at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<init>(DefaultMetricsSystem.java:38) 
    at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<clinit>(DefaultMetricsSystem.java:36) 
    at org.apache.hadoop.security.UserGroupInformation$UgiMetrics.create(UserGroupInformation.java:121) 
    at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:237) 
    at org.apache.sqoop.security.authentication.SimpleAuthenticationHandler.secureLogin(SimpleAuthenticationHandler.java:39) 
    at org.apache.sqoop.security.AuthenticationManager.initialize(AuthenticationManager.java:98) 
    at org.apache.sqoop.core.SqoopServer.initialize(SqoopServer.java:57) 
    at org.apache.sqoop.server.SqoopJettyServer.<init>(SqoopJettyServer.java:67) 
    at org.apache.sqoop.server.SqoopJettyServer.main(SqoopJettyServer.java:177) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 9 more 

4)私はlibのjarファイルを探しています。次のjarリストに従います。

jar in **lib** directory

あなたは今、失われた瓶を私に伝えることができますしてください。だからsqoopを実行し、私の学習を開始することができます。

ありがとうございました。

+0

いくつかのGoogleのガイドのためにこれらの環境変数を介して使用可能であることを保証する

export HADOOP_COMMON_HOME=/usr/local/hadoop/share/hadoop/common export HADOOP_MAPRED_HOME=/usr/local/hadoop/share/hadoop/mapreduce 

はsqoop-ENVファイルにHadoopのパスを置くために私を提案したがsqoop/confの中にありますsqoop-envに似たファイルはありません。 –

+0

この問題は、http://commons.apache.org/configuration/と/ usr/local/sqoop/server/libのjarファイルをダウンロードしました。 –

答えて

-1

classnotfoundを解決するためにクラスパスにhadoop-common-0.xx.jarがあるかどうかを確認してください。設定クラスの例外。

hadoop-common-0.xx.jarは/ libにあります。

+0

クラスパスにcommons-configuration-1.9.jarファイルが必要です。 –

0

コピー$ SQOOP_HOME /サーバー/ libにするには、以下のjarファイルは:

cp -R $HADOOP_HOME/share/hadoop/common/* $SQOOP_HOME/server/lib/
cp -R $HADOOP_HOME/share/hadoop/common/lib/* $SQOOP_HOME/server/lib/
cp -R $HADOOP_HOME/share/hadoop/hdfs/* $SQOOP_HOME/server/lib/
cp -R $HADOOP_HOME/share/hadoop/hdfs/lib/* $SQOOP_HOME/server/lib/
cp -R $HADOOP_HOME/share/hadoop/mapreduce/* $SQOOP_HOME/server/lib/
cp -R $HADOOP_HOME/share/hadoop/mapreduce/lib/* $SQOOP_HOME/server/lib/
cp -R $HADOOP_HOME/share/hadoop/yarn/* $SQOOP_HOME/server/lib/
cp -R $HADOOP_HOME/share/hadoop/yarn/lib/* $SQOOP_HOME/server/lib/

異なるバージョンの重複したjarファイルを削除します。

同じ問題が発生しました。私はあなたと同じバージョンを設定しました。 これらの手順は現在私のために働いています。

Good Luck!私たちは同じページにいます!

0

これは私の.bashrcファイルに次の2つの環境変数を設定することで解決しました。基本的には上記の回答で述べた一般的なライブラリはsqoop.sh