zoukankan      html  css  js  c++  java
  • hadoop入门学习系列之六hadoop学习之sqoop安装

    1.下载安装包及解压
       tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
    2.配置环境变量和配置文件
    cd 到 sqoop解压目录
    cp conf/sqoop-env-template.sh /conf/sqoop-env.sh
    在sqoop-env.sh中添加如下代码:
    export HADOOP_COMMON_HOME=/home/hadoop/opt/hadoop-2.6.0
    export HADOOP_MAPRED_HOME=/home/hadoop/opt/hadoop-2.6.0
    export HBASE_HOME=/home/hadoop/opt/hbase-1.1.0.1
    export HIVE_HOME=/home/hadoop/opt/apache-hive-1.2.1-bin
    export ZOOCFGDIR=/home/hadoop/opt/zookeeper-3.4.6
    (如果数据读取不设计hbase和hive,那么相关hbase和hive的配置可以不加,如果集群有独立的zookeeper集群,那么配置zookeeper,反之,不用配置)。
     
    3.copy需要的lib包到Sqoop/lib
    cp MySQL-connector-Java-5.1.7.jar ~/sqoop/lib/
    cp jdbcsql4.jar  ~/sqoop/lib/
     

    4.添加环境变量

    gedit /etc/profile

    export SQOOP_HOME=/home/hadoop/opt/sqoop-1.4.6.bin__hadoop-2.0.4-alpha5

    export PATH=$SQOOP_HOME/bin:$PATH

    export LOGDIR=$SQOOP_HOME/logs

    5.测试sqoop是否安装正确

    sqoop list-databases

    --connect 'jdbc:sqlserver://10.10.0.3:1433;instance=SQL2008;username=BGDbo;password=bgdbo123;database=LuxeDc'

    就是每次执行$SQOOP_HOME/bin/sqoop脚本的时候总是抱一个错误:

    Error: Could not find or load main class org.apache.sqoop.Sqoop

    这是因为找不到sqoop-1.4.5.jar文件导致的。

    从网上搜了很多解决办法,具体的做法是:将sqoop-1.4.5.jar文件拷贝到$HADOOP_HOME/lib目录下一份,可是我照做的,但问题还是依旧,一周了,我实在是到了要放弃的地步了,开始怀疑自己的能力了都!

    今天我在绝望之时,打开sqoop脚本看了一下,发现脚本的最后有这样一句:

    exec HADOOPCOMMONHOME/bin/hadooporg.apache.sqoop.Sqoop"HADOOPCOMMONHOME/bin/hadooporg.apache.sqoop.Sqoop"@"

    这个应该就是执行hadoop jar命令的地方,看到这里或许你应该明白这个错误该怎么解决了吧?

    解决办法

    修改$SQOOP_HOME/bin/sqoop脚本:

    * 修改前:

    exec HADOOPCOMMONHOME/bin/hadooporg.apache.sqoop.Sqoop"HADOOPCOMMONHOME/bin/hadooporg.apache.sqoop.Sqoop"@"

    * 修改后:

    exec ${HADOOP_COMMON_HOME}/bin/hadoop jar $SQOOP_HOME/sqoop-1.4.5.jar org.apache.sqoop.Sqoop "$@"

    即:显示指定sqoop-1.4.5.jar文件的所在位置。

    然后执行sqoop help命令,就不会再报Could not find or load main class org.apache.sqoop.Sqoop 的错误了。

  • 相关阅读:
    邪恶改装2:用单片机实现一次简单的wifi密码欺骗
    TPYBoard自制微信远程智能温湿度计
    什么是私有网络
    DCHP是什么意思
    ipconfig 命令有什么作用
    什么是网关及网关作用
    什么叫路由
    kvm libvirt 虚拟机管理
    通过python-libvirt管理KVM虚拟机 源码
    通过python-libvirt管理KVM虚拟机 代码实现
  • 原文地址:https://www.cnblogs.com/lovefendi/p/7159927.html
Copyright © 2011-2022 走看看