我对hadoop和sqoop还不熟悉。我安装了hadoop2.7.3(伪模式),它在我的系统上运行良好。
我想要与sqoop集成。我使用的是sqoopsqoop-1.99.7-bin-hadoop200。
1) 我提取tar文件并将提取的内容移动到/usr/local/sqoop中
2) 将sqoop路径设置为 .bashrc
文件。
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列表。
你能告诉我哪个jar不见了吗。所以我可以运行sqoop并开始学习。
谢谢。
4条答案
按热度按时间oknwwptz1#
请确保在classpath中使用hadoop-common-0.xx.jar来解析配置类的classnotfound异常。
hadoop-common-0.xx.jar将在/lib中提供。
pvcm50d12#
我也有同样的问题
为了解决这个问题,我在单独的终端设置了以下变量,它可以工作
xe55xuns3#
通过在我的
.bashrc
文件。基本上确保上述答案中提到的公共库可以通过这些环境变量
sqoop.sh
smdnsysy4#
将jar文件从下面复制到$sqoop\u home/server/lib:
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。确实面临同样的问题。我配置了与您相同的版本。这些步骤现在对我有效。
祝你好运!我们意见一致!