安装sqoop
1.默认已经安装好java+hadoop
2.下载对应hadoop版本的sqoop版本
3.解压安装包
tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
4.配置环境变量(/etc/profile)
#sqoop
export SQOOP_HOME=/opt/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
保存退出
source /etc/profile
5.修改配置文件(sqoop-env.sh/sqoop-site.xml/sqoop)
1.复制配置文件模板
cd /opt/sqoop-1.4.6/conf
cp sqoop-site-template.xml sqoop-site.xml
cp sqoop-env-template.sh sqoop-env.sh ####sqoop-env.sh####
export HADOOP_COMMON_HOME=/opt/hadoop-2.5.2 ####sqoop-site.xml####
无需配置 但须有此文件 ####bin/sqoop####
最后一行需要改成 注意sqoop-1.4.6.jar 为lib目录下的包
exec ${HADOOP_COMMON_HOME}/bin/hadoop jar $SQOOP_HOME/sqoop-1.4.6.jar org.apache.sqoop.Sqoop "$@"
6.添加jar包
1.添加关系型数据库jdbc jar包 到 lib 目录下
cp mysql-connector-java-5.1.21.jar /opt/sqoop-1.4.6/lib
7.验证
sqoop list-databases --connect jdbc:mysql://192.168.22.1/test --username root --password root //注意此时需保证mysql连接正常。不然报错 无报错显示出数据库则表示安装成功
8.常用命令
1.显示
sqoop list-databases --connect jdbc:mysql://192.168.22.1/test --username root --password root //显示数据库
sqoop list-tables --connect jdbc:mysql://192.168.22.1/test --username root --password root //显示数据表
2.hdfs导出到mysql
sqoop export --connect jdbc:mysql://192.168.22.1/test --username root --password root --table access_log --fields-terminated-by '\t'
--export-dir /access/part-m-00000 //需保证导出表已创建并字段跟存储文件一致 注意字段分隔符
3.mysql导入到hdfs
sqoop import --connect jdbc:mysql://192.168.22.1/test --username root --password root --table access_log --fields-terminated-by '\001'
--lines-terminated-by '\n' --target-dir /access -m 1 //无主键时需加 -m 1 不然报错 /access在hdfs需不存在 注意字段分隔符