安装sqoop-1.99.7报caused by java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration

来源:互联网 发布:司马辽太郎 知乎 编辑:程序博客网 时间:2024/06/05 09:52
   
最近在学习sqoop,我以前用过sqoop-1.4.4版本,最近想学习最新版sqoop-1.99.7,在网上找了安装教程,安装完后用
#sqoop2-tool  verify命令进行验证,结果报caused by java.lang.ClassNotFoundException:org.apache.hadoop.conf.Configuration

这个错误,明显是sqoop没有找到hadoop的路径,有网友说把hadoop的jar包拷贝到sqoop目录下,这种方法是最笨的方法,不建议。


既然是路径的问题,我们就去修改路径,打开sqoop脚本文件,#vim  sqoop.sh   
进入编辑模式以后,找到一下几行:

  HADOOP_COMMON_HOME=${HADOOP_COMMON_HOME:-${HADOOP_HOME}/share/hadoop/common}
  HADOOP_HDFS_HOME=${HADOOP_HDFS_HOME:-${HADOOP_HOME}/share/hadoop/hdfs}
  HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME:-${HADOOP_HOME}/share/hadoop/mapreduce}
  HADOOP_YARN_HOME=${HADOOP_YARN_HOME:-${HADOOP_HOME}/share/hadoop/yarn}


如果没猜错的话,你当时在安装hadoop时,在系统环境变量/etc/profile文件中除了定义了HADOOP_HOME,还定义其他,例如HADOOP_COMMON_HOME等等,这样的话,就会导致很多莫名的错误,也许sqoop找不到hadoop的路径就是这个原因


所以解决办法就是,把上面sqoop.sh中的那四行代码改成

  HADOOP_COMMON_HOME=${HADOOP_HOME}/share/hadoop/common
  HADOOP_HDFS_HOME=${HADOOP_HOME}/share/hadoop/hdfs
  HADOOP_MAPRED_HOME=${HADOOP_HOME}/share/hadoop/mapreduce
  HADOOP_YARN_HOME=${HADOOP_HOME}/share/hadoop/yarn

为了保险起见,可以把${HADOOP_HOME}也换成绝对路径(例如: HADOOP_COMMON_HOME=/home/lvyuan/hadoop-2.6.0/share/hadoop/common),然后再#sqoop2-tool   verify
就验证通过了


sqoop-1.99.7安装教程参见这篇博客http://blog.csdn.net/u012842205/article/details/52344196


0 0
原创粉丝点击