七,sqoop 安装

Posted xiaoliu66007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七,sqoop 安装相关的知识,希望对你有一定的参考价值。

sqoop安装完毕后,还需要一些坑爹的配置,此处瑾纪录下过程以及遇到过的麻烦:

1.下载sqoop并加mysql驱动包

http://mirror.bit.edu.cn/apache/sqoop/,下载,如下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz,

mysql(或其他db驱动包)放到 Sqoop 目录下的 lib。如 mysql-connector-java-5.1.38.tar.gz。

2.配置环境变量

2.1要把HADOOP_MAPRED_HOME添加到系统环境,否则会报错/usr/software/sqoop/bin/../../hadoop/mapreduce does not exist!

需要 vi /etc/profiles加

SQOOP_HOME=/usr/software/hadoop
export HADOOP_MAPRED_HOME=/usr/software/hadoop

export SQOOP_HOME=/usr/software/hadoop

2.2下面这个默认没配置,感觉没配置也可,必要的时候,可进行配置,吧里面的HADOOP_MAPRED_HOME,HIVE_HOME等配好即可

/usr/software/sqoop/conf/sqoop-env.sh 

3.其他配置

3.1===

Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.

解决方法:/etc/profile最后加入 

HIVE_HOME=/usr/software/hive
export HIVE_CONF_DIR=/usr/software/hive/conf export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

然后   执行 root> . /etc/profile,

3.2===

ERROR exec.DDLTask: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.readerFor(Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/ObjectReader;

造成的原因:sqoop与hive使用的jackson包的版本冲突导致

解决方法:将hive的lib目录下的jackson*.jar拷贝到sqoop的lib下,并删除sqoop/lib下的低版本jackson*.jar

cp -rf [hive]/lib/jackson*.jar [sqoop]/lib/

3.3===

 ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

解决方法:

a.【hive】/conf/hive-site.xml复制到${SQOOP_HOME}/conf下

b.编辑 jdk的文件jdk1.8/jre/lib/security/java.policy,并且 . /etc/profile

vi /usr/software/java/jdk1.8/jre/lib/security/java.policy
#具体配置如下:在文件中添加如下内容
grant {
        permission javax.management.MBeanTrustPermission "register";
};

 3.4---下面的问题摘抄自网上忙不过我自己没遇到

创建job的时候报错:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject

造成的原因:这是因为sqoop缺少java-json.jar包.

解决方法:

java-json.jar下载地址:http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm
将java-json.jar放到/usr/local/sqoop/lib

3.6 ---

Output directory hdfs://192.168.15.115:9000/hive/root already exists
这种就不多说了,直接去hdfs上删除文件夹了
hdfs dfs -rm -r 【文件夹名】

 

以上是关于七,sqoop 安装的主要内容,如果未能解决你的问题,请参考以下文章

数据采集工具Flume和Sqoop

Sqoop安装

Sqoop环境搭建 01sqoop-1.4.7 安装配置CentOS Linux release 7.5.1804(附Sqoop1最新版+Sqoop2最新版安装包+MySQL驱动包资源)

Sqoop--安装配置

安装sqoop,给bin/sqoop-list-databases: line 26: /Users/apple/sqoop: 是一个目录

安装sqoop