sqoop与hadoop抛出ClassNotFoundException的集成 [英] sqoop integration with hadoop throw ClassNotFoundException
问题描述
我对hadoop和sqoop一词是陌生的.我安装了hadoop 2.7.3(伪模式),并且在我的系统上可以正常工作.
I am new in word of hadoop and sqoop. I installed hadoop 2.7.3 (pseudo mode) and its working fine on my system.
我想与sqoop集成.我正在使用sqoop sqoop-1.99.7-bin-hadoop200.
I want integration with sqoop. I am using sqoop sqoop-1.99.7-bin-hadoop200.
1)我解压缩tar文件并将解压缩的内容移到/usr/local/sqoop
1) I extract tar file and move extracted content into /usr/local/sqoop
2)将Sqoop路径设置为.bashrc
文件.
2) Set Sqoop path into .bashrc
file.
3)转到/usr/local/sqoop/server/lib/sqoop.sh服务器启动
并获得以下错误消息.
hadoop_usr@sawai-Lenovo-G580:/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列表.
4) So when i am looking for jars in lib then i found. following jar list.
请告诉我现在哪个罐子不见了.这样就可以运行sqoop并开始学习.
Please can you tell me which jar is missing now. So am able to run sqoop and start my learning.
谢谢.
推荐答案
我遇到了同样的问题
为解决这个问题,我在单独的终端中设置了以下变量,并且可以正常工作
to solve this,I have set below variables in seperate terminal and it works
export HADOOP_MAPRED_HOME=/opt/hadoop/hadoop-3.1.2/share/hadoop/mapreduce
export HADOOP_COMMON_HOME=/opt/hadoop/hadoop-3.1.2/share/hadoop/common
export HADOOP_HDFS_HOME=/opt/hadoop/hadoop-3.1.2/share/hadoop/hdfs
export YARN_HOME=/opt/hadoop/hadoop-3.1.2/share/hadoop/yarn
这篇关于sqoop与hadoop抛出ClassNotFoundException的集成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!