• sqoop的安装和使用



    原创申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
    全文共计1577字,阅读大概需要3分钟
    欢迎关注我的个人公众号:不懂开发的程序猿

    一、 任务描述

    本实验通过练习sqoop的安装和配置,为学习sqoop准备,并且通过练习将mysql中表的数据导入到HDFS上来对sqoop的使用有一个初步的了解。

    二、 任务目标

    完成sqoop的安装和配置并且练习将mysql数据库里的数据导入到HDFS中。

    三、 任务环境

    本次环境是:Ubuntu16.04+ jdk1.8.0_73 + hadoop2.7.3 + sqoop-1.4.6 +mysql-5.7.22

    四、 任务分析

    解压sqoop安装包然后进行配置后,在sqoop的bin目录下输入命令【./sqoop】检查是否配置成功。然后在mysql中创建表并添加数据最后导入到HDFS中进行查看。

    五、 任务实施

    步骤1、Sqoop安装包的解压

    右击桌面上选择【Open Terminal Here】打开终端。在弹出的终端中输入【cd /simple/soft】进入软件包的所在文件夹中,并通过【ls】查看文件夹下所有软件。如图1所示。

    在这里插入图片描述

    图1 查看所需jar包

    返回到simple目录,在simple目录下执行命令【tar -zxvf /simple/soft/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz】解压sqoop如图2所示。
    注:打开终端的方法,右击桌面选择“在终端中打开“

    在这里插入图片描述

    图2 解压jar包
      查看解压的文件并改名为sqoop

    在这里插入图片描述

    图3 为sqoop改名
    ♥ 知识链接
    sqoop介绍
      sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。
    sqoop主要通过JDBC和关系数据库进行交互。理论上支持JDBC的database都可以使用sqoop和hdfs进行数据交互。

    步骤2、Sqoop配置

    把桌面上的mysql的jdbc驱动包mysql-connector-java-5.1.45.jar复制到sqoop安装目录下的lib文件夹下。

    在这里插入图片描述

    图4 拷贝所需jar包到sqoop目录

    在终端输入【vim /etc/profile】配置环境变量,

    在这里插入图片描述

    图5 配置环境变量

    在终端输入【source /etc/profile】使文件生效。如图6所示:

    在这里插入图片描述

    图6 使配置生效

    将sqoop-env-template.sh重命名为sqoop-env.sh,如图7所示

    在这里插入图片描述

    图7 重命名配置文件
      修改sqoop-env.sh的属性,执行命令: 【vim sqoop-env.sh】。如图8所示。
    添加相关的配置,注意:当你装了什么工具就配置什么工具路径。按“i“键进入插入操作,按“esc“退出插入操作,输入“:wq!“回车保存并退出。
    在这里插入图片描述

    图8 编辑配置文件
      修改/simple/sqoop/bin/configure-sqoop里面的配置,进入到/simple/sqoop/bin目录下执行命令:【vim configure-sqoop】。如图9所示
    在这里插入图片描述

    图9 进入configure-sqoop文件
      注释掉HCatalog等不用的组件。如图10

    在这里插入图片描述

    图10 注释掉不用的配置
      启动mysql服务器,如图11所示

    在这里插入图片描述

    图11 启动mysql服务器

    ♥ 知识链接
    mysql密码设置
      如果mysql没有设置密码,可通过如下步骤进行设置
      1)use mysql
      2)set password for “root“@“localhost“ = password(“root“);
      启动sqoop,在${sqoop}的bin目录下有一个sqoop。执行命令:./sqoop。如图12所示:
    在这里插入图片描述

    图12 启动sqoop
      输入命令【./sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password root】链接mysql数据库,列出数据库列表:如图13所示
    在这里插入图片描述

    图13 列出数据库表
      通过以上几步可以检查出hadoop、mysql、和sqoop是否已经安装成功,并且可以通过sqoop连接到mysql中。
    六、 任务测试
    启动hadoop服务,启动完成后【jps】查看启动服务。如图14所示
    在这里插入图片描述

    图14 启动hadoop服务并查看

    使用root用户进入mysql数据库,使用命令【create database sqooptest】创建新的数据库sqooptest,并使用命令【use sqooptest】选中sqooptest数据库。如图15所示

    在这里插入图片描述

    图15 创建数据库并选中

    在sqooptest数据库里创建表test, 并添加数据进去,最后检查一下,数据是否添加成功,如图16所示

    在这里插入图片描述

    图16 创建数据表

    退出mysql命令行模式,在bin目录下输入命令【./sqoop import --connect jdbc:mysql://localhost:3306/sqooptest --username root --password root --table test -m 1 --target-dir /usr/local/hadoop/result】将数据从mysql导入到hdfs中去。如图17

    在这里插入图片描述

    图17 mysql导入到hdfs
      导入成功后的结果如下图18所示
    在这里插入图片描述

    图18 成功结果图

    在hadoop中检查数据是否导入到hdfs中。在当前的目录下输入命令【hadoop fs -ls /usr/local/hadoop/result】查看生成的文件,并且通过【hadoop fs -cat】命令查看文件内容。如图19所示

    在这里插入图片描述

    图19 查看导入的文件

    在这里插入图片描述

  • 相关阅读:
    你必须学UML之理论篇
    速盾网络:cdn加速技术和云计算的区别
    论文阅读笔记(十二)——Augmenting large language models with chemistry tools
    进程最后的遗言
    从零开始Blazor Server(4)--登录系统
    前端三剑客快速入门(二)
    --对列--
    冒泡,选择,插入,希尔排序
    msvcp140.dll文件下载方法,找不到msvcp140.dll丢失的解决方法
    2022/08/09、10、11 day01-2、02、03:maven约定目录、仓库、命令、插件
  • 原文地址:https://blog.csdn.net/qq_44807756/article/details/125544694