sqoop与hadoop抛出ClassNotFoundException的集成 [英] sqoop integration with hadoop throw ClassNotFoundException

查看:401
本文介绍了sqoop与hadoop抛出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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆