好的,有人已经问过这个问题一次了,但似乎没有帮助,所以这是我的问题。
我已经在我的Cent OS 7机器上安装了Hadoop 2.5.1。它设置为在伪分布式模式下运行。我运行了几个MapReduce示例作业 - 所以假设所有配置都很好。
我已经下载了 Sqoop 1.4.5。并安装了MySql数据库(MariaDB)并创建了所需的表。
现在。我正在运行以下命令:
bin/sqoop export --connect jdbc:mysql://localhost/sqoopdb
--table sqooptable --export-dir /user/dennis
--fields-terminated-by 't' --username root --password ***
它返回以下错误消息:
12-11-14 06:11:54 错误工具。导出工具:遇到 IOException正在运行导出作业:java.io.FileNotFound异常:文件不存在:hdfs://localhost:9000/home/dennis/Sqoop/lib/mysql-connector-java-5.1.34-bin.jar
错误中提到的文件在本地文件系统中不存在,此外,我给了它 chmod 777 - 只是为了让每个人都能够访问它。
有人请问有什么想法吗?
我的理解方式 - 它在hdfs中的某个地方查找提到的文件,而它位于本地文件系统中。
我已经让它工作了。这绝对是最糟糕的解决方案 - 但没有人给我更好的东西。我已经在 HDFS 中创建了文件夹结构,并在那里复制了血腥的 JAR。现在你可以:)判断我同样的事情写在我的博客上