加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[bigdata-003]在cdh 5.7下 用sqoop1将mysql数据库数据导入到hdfs

发布时间:2021-01-11 12:24:27 所属栏目:大数据 来源:网络整理
导读:1. 假设,myql安装在bigdata2上。我们要在bigdata3上执行sqoop1。 2. 首先,要在mysql上创建一个'b3'@'%'的账户,这个账户限定只能从外部ip地址访问mysql。 3. 在bigdata3上做如下操作 http://www.cloudera.com/documentation/enterprise/5-7-x/topics/cdh_i

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驱动,不会成功。

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


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

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读