使用sqoop(1.4.5)将mysql数据导入到hdfs(hadoop 2.4.1)
我是Hadoop中的一个开始,试图从我的本地数据库mysql中导入一个表格到使用sqoop 1.4的hadoop 2.4.1的hdfs。 5。使用sqoop(1.4.5)将mysql数据导入到hdfs(hadoop 2.4.1)
mysql version : 5.5.38
hdfs version :hadoop 2.4.1
sqoop version :1.4.5
我尝试sqoop名单的数据库,它给出正确的答案 但随后在给予以下CMD:
sqoop import --connect jdbc:mysql://localhost:3306/information_schema --username root --password root --table VIEWs -m 1
,我也得到:
ERROR tool.ImportTool: Encountered IOException running import job: java.io.FileNotFoundException: File does not exist: hdfs://localhost:54310/usr/lib/sqoop/lib/jackson-mapper-asl-1.9.13.jar
at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1128)
at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1120)
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1120)
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:288)
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:224)
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestamps(ClientDistributedCacheManager.java:93)
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestampsAndCacheVisibilities(ClientDistributedCacheManager.java:57)
at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:265)
at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:301)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:389)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303)
at org.apache.sqoop.mapreduce.ImportJobBase.doSubmitJob(ImportJobBase.java:186)
at org.apache.sqoop.mapreduce.ImportJobBase.runJob(ImportJobBase.java:159)
at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:247)
at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:665)
at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:601)
at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
您的mapred-site.xml文件配置错误。检查文件内容,应该看起来像下面所示的内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
一般mapred-site.xml文件的内容是由相同的核心内容的site.xml。应该看起来如下图所示睿site.xml文件内容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
</property>
</configuration>
塔伊丰YALCINKAYA
添加MySQL驱动程序jar和任何丢失的jar到sqoop安装的lib文件夹中都可以使用mysql。
我已经将mysql驱动程序添加到lib文件夹,并且jackson-mapper-asl-1.9.13.jar已经在位置 – 2014-09-24 04:54:11
请确保这些jar文件夹在classpath中。并且您在哪里执行命令..它奇怪的是它正在寻找hdfs上的jackson-mapper文件。 – mohanaki 2014-09-25 03:43:10
请删除HDFS中的临时文件(如果/ user/hduser/***等错误已存在)。当地
- 副本sqoop到HDFS:
Hadoop的FS -mkdir -p/usr/lib目录/ sqoop/
Hadoop的FS -copyFromLocal/usr/lib目录/ sqoop/*的.jar/usr/lib中/ sqoop/LIB/
- 拷贝罐/从TMP类HDFS
CP/TMP/sqoop-hduser /编译/ */usr/lib中/ sqoop/bin中/
hadoop的FS -put/TMP/sqoop-hduser /编译/ * /用户/ hduser/
你需要的所有相应的LIB文件添加到错误 – 2014-09-23 13:59:11
u能memtion所示的路径对应的lib file.as我已经将mysql驱动添加到lib文件夹,并且jackson-mapper-asl-1.9.13.jar已经在位置 – 2014-09-24 04:57:13
尝试将所有hadoop jar,sqoop jar和hive jar添加到hdfs path。同时检查版本兼容性 – 2014-09-24 05:12:19