sqoop的主要功能是hdfs与关系型数据库的数据互相导入导出。
我们以hdfs和mysql互相导数据为例
现在我们开始搭建sqoop
1.下载sqoop包
wget http://mirror.bit.edu.cn/apache/sqoop/1.99.7/sqoop-1.99.7-bin-hadoop200.tar.gz
2.解压
tar -zxvf sqoop-1.99.7-bin-hadoop200.tar.gz
3.添加环境变量
export SQOOP_HOME=/chenzhongwei/soft/sqoop-1.99.7-bin-hadoop200
export PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SQOOP_HOME/bin
执行source /etc/profile
4.修改conf下的sqoop.properties
47,233s/@[email protected]/\/chenzhongwei\/soft\/sqoop-1.99.7-bin-hadoop200\/logs/g(vim里的命令行执行)
47,233s/@[email protected]/\/chenzhongwei\/soft\/sqoop-1.99.7-bin-hadoop200\/basedir/g(vim里的命令行执行)
org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/chenzhongwei/soft/hadoop-2.7.3/etc/hadoop/(hadoop安装目录)
5.sqoop的安装文档
http://sqoop.apache.org/docs/1.99.7/admin/Installation.html
该文档让我们再core-site.xml里加配置
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
root当前运行的用户
6.把mysql驱动包放到server/lib下
7. 初始化和验证
sqoop2-tool upgrade
sqoop2-tool verify
8.启动server
sqoop2-server start
9.启动client
./sqoop2-shell
sqoop2现在已经搭建完成,我们开始使用sqoop2进行导数据。
1.查看一下支持的连接器
2. 我们现在开始创建hdfs-connector和generic-jdbc-connector连接
create link -c hdfs-connector
create link -c generic-jdbc-connector
通过以上两个命令创建hdfs和mysql连接。
注意:
Identifier enclose:输入空格,否则报错。
3.启动hadoop
4.创建mysql导数据到hdfs的job
create job -f my_mysql_link1 -t my_hdfs_link
mysql表结构和数据:
任务列表:
hdfs目录:
5.创建hdfs导数据到mysql的job
create job -f my_hdfs_link -t my_mysql_link
hdfs存储的数据和导入到mysql的数据
到此,我们把mysql导入hdfs和hdfs导入mysql,都已经完成了。