热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[bigdata-003]在cdh5.7下用sqoop1将mysql数据库数据导入到hdfs的方式

1.假设,myql安装在bigdata2上。我们要在bigdata3上执行sqoop1。2.首先,要在mysql上创建一个b3@%的账户,这个账户限定只能从外部ip地址访

1. 假设,myql安装在bigdata2上。我们要在bigdata3上执行sqoop1。


2. 首先,要在mysql上创建一个'b3'@'%'的账户,这个账户限定只能从外部ip地址访问mysql。


3. 在bigdata3上做如下操作

http://www.cloudera.com/documentation/enterprise/5-7-x/topics/cdh_ig_jdbc_driver_install.html

mkdir -p /var/lib/sqoop
chown sqoop:sqoop /var/lib/sqoop 
chmod 755 /var/lib/sqoop

然后将从oracle官网下载的mysql的jdbc驱动,放到/var/lib/sqoop的目录下,且owner是sqoop,mod是755
mysql-connector-java-5.1.40-bin.jar


4 切换用户到hdfs

su hdfs


5 设定hadoop的目录

export HADOOP_MAPRED_HOME=/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce

这里个目录有诸多hadoop的jar包,根据安装目录不同,可能略有不同。



6. 在bigdata3上执行

sqoop import --connect jdbc:mysql://10.14.1.4:3306/b_test --username b3 --password b3 --table t1 --target-dir /tmp/x

注意,这个/tmp/x必须不存在。


非常有可能出现各种异常,比如,在bigdata2上用b3做import就不能成功。

如果/tmp/x文件已经存在,也不能成功。

如果HADOOP_MAPRED_HOME没有设置,也不能成功。

如果/var/lib/sqoop里没有jdbc驱动,不会成功。

如果执行命令的用户不对,也可能不成功。


总之,失败的可能是很多的。需要一一排查。





推荐阅读
author-avatar
Manticore-v
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有