zoukankan      html  css  js  c++  java
  • 七,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 【文件夹名】

     3.7 ---

    ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 1

    解决方法:找到HIVE_HOME下的lib文件夹,将文件夹中的libthrift-0.9.2.jar 拷贝到SQOOP_HOME/lib 下 ,ok!

     3.8

    cp -rf /usr/software/hive/lib/hive-common-3.1.2.jar /usr/software/sqoop/lib/   
  • 相关阅读:
    yaml文件执行后常见错误解决
    动态存储管理实战:GlusterFS
    Kubernetes角色访问控制RBAC和权限规则(Role+ClusterRole)
    Kubernetes 存储系统 Storage 介绍:PV,PVC,SC
    在容器中管理数据的两种方式
    k8s 如何关联pvc到特定的pv
    Mysqldump 的 的 6 大使用场景的导出命令
    Docker 容器日志管理
    k8s中节点级别的日志
    k8s中pod的容器日志查看命令
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/12233330.html
Copyright © 2011-2022 走看看