hdfs导入mysql出错_sqoop import --direct报错解决Cannot run program "mysqldump":&

在A、B、C、D四台节点的Hadoop集群中尝试使用Sqoop 1.4.6从MySQL导入数据到HDFS时遇到错误。当添加--direct参数时, Sqoop报错'Cannot run program "mysqldump": error=2, No such file or directory'。解决方法是在MySQL安装节点A上找到mysqldump的路径,并将其复制到其他数据节点B、C、D中,因为--direct方式依赖mysqldump命令。这表明不同导入方式的底层实现有区别。" 84143300,8197923,Go语言中range行为解析,"['Go语言', '编程陷阱', '数据结构', '迭代行为']
摘要由CSDN通过智能技术生成

环境介绍:

A、B、C、D四台节点的hadoop集群,​其中A为namenode

、resourcemanager,B、C、D为datanode、nodemanager。A节点安装了sqoop-1.4.6,hive,mysql

​​实验:

1.A节点使用sqoop普通方式从Mysql的sqoop库中的tohdfs表中导入到hdfs

sqoop import \

--connect jdbc:mysql://namenode:3306/sqoop \

--username root  \

--password 123456   \

--table tohdfs \

--delete-target-dir   \

--target-dir  /sqoop \

-m 1

​​​​​

参数解释:

--connect 指定连接Mysql的主机名和端口号

--username 指定连接的用户名

--password 指定密码

--table mysql数据库中的表名​

备注:mysql数据库需要数据节点有访问权限

--delete-target-dir​hdfs导入的目录存在的话先删除

--target-dir

hdfs导入的路径,不写默认路径为/user/$user/下

-m

指定导入到hdfs路径的map数据量,由于没有reduce,及-m的个数是最后hdfs输出目录的个数

2.

成功导入,并在/sqoop目录下生成一个表名的目录,其下有一个part-m-00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值