【发布时间】:2015-01-30 21:52:32
【问题描述】:
我有一个 mapreduce 作业,假设将数据持久化到 MySQL 数据库,但它引发了以下异常,
INFO mapred.JobClient: Task Id : attempt_201501122044_1310_r_000001_0, Status : FAILED
java.io.IOException at org.apache.hadoop.mapreduce.lib.db.DBOutputFormat.getRecordWriter(DBOutputFormat.java:180)
at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:597)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:444)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
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:1642)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
这个 mapreduce 作业在 5 个节点的集群上运行,我已经确认通过使用 sql 连接创建测试简单的主类来形成数据库连接。
我被困在这一点上。
【问题讨论】:
-
您的 MySQL 是否允许来自所有工作节点的连接,您是否能够测试来自所有工作节点的 mysql 连接?
-
是的...我确认每个节点都可以访问数据库。
标签: java mysql hadoop mapreduce