请教大神们,otter运行一段时间会挂起,报如下错误,各位有遇到吗?请问有哪几种原因会引起? pid:1 nid:2 exception:setl:com.alibaba.otter.node.etl.load.exception.LoadException: java.util.concurrent.ExecutionException: com.alibaba.otter.node.etl.load.exception.LoadException: com.alibaba.otter.node.etl.load.exception.LoadException: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'nhv_contact' already exists Caused by: java.util.concurrent.ExecutionException: com.alibaba.otter.node.etl.load.exception.LoadException: com.alibaba.otter.node.etl.load.exception.LoadException: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'nhv_contact' already exists at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at com.alibaba.otter.node.etl.load.loader.db.DataBatchLoader.load(DataBatchLoader.java:107) at com.alibaba.otter.node.etl.load.loader.OtterLoaderFactory.load(OtterLoaderFactory.java:50) at com.alibaba.otter.node.etl.load.LoadTask$1.run(LoadTask.java:85) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
原提问者GitHub用户 onepiece-yang
根据您提供的错误信息,可以看出是在进行数据同步时出现了异常,具体是在进行数据加载时出现了问题。
错误信息中的异常信息为:com.alibaba.otter.node.etl.load.exception.LoadException: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'nhv_contact' already exists,说明在加载数据时,发现表 nhv_contact 已经存在,导致加载失败。
根据这个错误信息,我们可以初步判断可能是以下几个原因导致的:
数据库中已经存在相同名称的表,导致数据加载失败; Otter 同步任务设置有误,导致数据加载时出现异常; 数据库连接出现异常,导致无法进行数据加载。 在排除以上问题之后,您可以继续观察 Otter 运行的日志,查看是否有其他异常信息或者错误提示,以便进一步排查问题。
针对这个问题,您可以尝试以下解决方案:
确认目标数据库中不存在相同名称的表,如果存在,可以先删除该表,然后重新启动 Otter 进行数据同步; 检查 Otter 同步任务的配置,确保配置正确,特别是表名称和数据库连接等信息,可以尝试重新配置同步任务并启动; 检查 Otter 所连接的数据库是否正常运行,确认数据库连接没有问题,可以尝试重新连接数据库进行同步。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。