• 大数据-08-Sqoop入门


    简介

    Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

    安装环境:
    操作系统:ubuntu-16.04.3-desktop-amd64.iso
    sqoop版本:sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
    Hadoop: hadoop-2.7.5.tar.gz
    MySQL:5.7.15
    注意:sqoop1与sqoop2完全不兼容,1.4.6及之前的版本是sqoop1,之后的是sqoop2

    1. 下载并解压sqoop1.4.7
      请登录Linux系统(本教程是使用hadoop用户名登录),然后,在Linux的浏览器(一般自带的是火狐Firefox浏览器)中,打开本网页,点击sqoop下载地址,浏览器默认会被下载文件保存到当前登录用户的下载目录下面。
      下面执行以下命令
    sudo tar -zxvf  sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local #解压安装文件
    cd /usr/local
    sudo mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop #修改文件名
    sudo chown -R hadoop:hadoop sqoop #修改文件夹属主,如果你当前登录用户名不是hadoop,请修改成你自己的用户名
    
    1. 修改配置文件sqoop-env.sh
    cd sqoop/conf/
    cp sqoop-env-template.sh qoop-env.sh  #将sqoop-env-template.sh复制一份并命名为sqoop-env.sh
    vim sqoop-env.sh #编辑sqoop-env.sh
    

    修改sqoop-env.sh的如下信息

    export HADOOP_COMMON_HOME=/usr/local/hadoop
    export HADOOP_MAPRED_HOME=/usr/local/hadoop
    export HBASE_HOME=/usr/local/hbase
    export HIVE_HOME=/usr/local/hive
    #export ZOOCFGDIR= #如果读者配置了ZooKeeper,也需要在此配置ZooKeeper的路径
    
    1. 配置环境变量
      打开当前用户的环境变量配置文件:
    vim ~/.bashrc
    

    在配置文件第一行键入如下信息:

    export SQOOP_HOME=/usr/local/sqoop
    export PATH=$PATH:$SBT_HOME/bin:$SQOOP_HOME/bin
    export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib
    

    然后,执行下面命令让配置文件立即生效:

    source ~/.bashrc
    
    1. 将mysql驱动包拷贝到$SQOOP_HOME/lib
      下面要把MySQL驱动程序拷贝到$SQOOP_HOME/lib目录下,首先请在Linux系统的浏览器中请点击mysql驱动包下载地址下载驱动包。下载mysql-connector-java-5.1.46.tar.gz后,下面执行命令拷贝文件:
    sudo tar -zxvf  mysql-connector-java-5.1.46.tar.gz  #解压mysql驱动包
    ls #这时就可以看到解压缩后得到的目录
    cp ./mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar /usr/local/sqoop/lib
    
    1. 测试与MySQL的连接

    首先请确保mysql服务已经启动了,如果没有启动,请执行下面命令启动:

    service mysql start
    

    然后就可以测试sqoop与MySQL之间的连接是否成功:

    sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P
    

    mysql的数据库列表显示在屏幕上表示连接成功,如下图:
    此处输入图片的描述

  • 相关阅读:
    存储过程使用收集
    网站伪静态技术(网页伪静态化)
    鼠标拖动层
    Oracle系统中用户权限的赋予,查看和管理(3)
    数据库中的锁查询及相关关系
    undo 管理
    grant 和 REVOKE权限
    Oracle系统中用户权限的赋予,查看和管理(2)
    了解数据库不同启动
    Oracle系统中用户权限的赋予,查看和管理(注意点)(4)
  • 原文地址:https://www.cnblogs.com/freebird92/p/8907817.html
Copyright © 2020-2023  润新知