[hadoop那些事]sqoop的安装及配置,简单的从mysql传入hdfs中

基于Linux安装mysql 的传送门在这里了(注意文章结尾的权限设置):https://blog.csdn.net/qq_44172732/article/details/106111959

本文主要为学习笔记,主题为sqoop的安装和配置,顺便做一个从mysql传入hdfs的实例。

本文默认安装并有一个可用mysql库表,默认mysql权限已设置,默认hadoop集群已启动(目前本人实验不是从高可用上,等有空实验好了再完善本篇文章)

music:http://music.163.com/song?id=1446768955&userid=1295745784

全文重点mysql的权限、sqoop的env配置文件

一、sqoop的下载

sqoop传送门: http://www.apache.org/dyn/closer.lua/sqoop/1.4.7

二、sqoop安装

tar -zxvf [名称]

配置文件profile

#sqoop
export SQOOP_HOME=/opt/sqoop
export PATH=$PATH:$SQOOP_HOME/bin

Sqoop-env.sh的配置

这个文件把sqoop目录下conf里面的sqoop-env-template.sh改了名就是了

里面有很多需要配置的路径其实都是存储数据的软件,目前只需要配上hadoop的路径即可,其他的以后有缘再见吧。

#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/hadoop

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/hadoop

验证方式:sqoop version 即可 会有一些warning 不用理会

sqoop驱动包的导入

传送门 https://cdn.mysql.com//archives/mysql-connector-java-5.1/mysql-connector-java-5.1.46.zip

这个在windows上解压之后里面有两个jar包,我用的是带bin的那个。
只需要传入一个即可,传入的目的地址是sqoop/lib下。 (放进去就大功告成了)
[hadoop那些事]sqoop的安装及配置,简单的从mysql传入hdfs中

三、sqoop的启动

sqoop import --connect jdbc:mysql://test1:3306/fzy -table classes --username root --password Ff12345678.  --target-dir /sqoop/fzy/test002 --delete-target-dir --num-mappers 1 --fields-terminated-by "\t"

代码有点长
一点一点来看
sqoop import 是sqoop自带方法,主要用来导入数据

--connect jdbc:mysql://test1:3306/fzy 是连接我的数据库,test1是我的主机名,大多为master或slave1,fzy是库名

-table classes 表明我的fzy库里面的表名

--username root --password Ff12345678. 很显然是我的数据库的用户名和密码

--target-dir /sqoop/fzy/test002 传到hdfs的哪个目录下 如果没有会自动创建

后面都没啥大的意义了 以后再探索,不过一般写启动命令时,不一大串直接上都是这样写:

sqoop import \
--connect jdbc:mysql://test1:3306/fzy \
-table classes \
--username root --password Ff12345678. \
--target-dir /sqoop/fzy/test002 \
--delete-target-dir --num-mappers 1 --fields-terminated-by "\t"

就是每一行最后打一个\就可以换行写代码了 就是更清楚一点而已。

如果报错看这
错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

上结果:

[hadoop那些事]sqoop的安装及配置,简单的从mysql传入hdfs中

上一篇:Sqoop 工具速查表(中文版)【转】


下一篇:Azkaban.Sqoop