原创申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
全文共计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 查看导入的文件
|