在调用sqoop JavaAPI,创建mysql link时报如下错误,且link id和已存在的link是不重复的,调用的api代码是和官方文档是一样的
Exception in thread "main" org.apache.sqoop.common.SqoopException: MODEL_011:Input do not exist - Input name: linkConfig.connectionString
at org.apache.sqoop.model.MConfig.getInput(MConfig.java:74)
at org.apache.sqoop.model.MConfigList.getInput(MConfigList.java:65)
at org.apache.sqoop.model.MConfigList.getStringInput(MConfigList.java:69)
at service.Mysql2HDFS.createMysqlLink(Mysql2HDFS.java:26)
at service.Mysql2HDFS.main(Mysql2HDFS.java:149)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
错误提示所在行代码:
long connectorId = 2;
MLink link = client.createLink(connectorId);
link.setName("JDBC_link");
link.setCreationUser("hdfs");
MLinkConfig linkConfig = link.getConnectorLinkConfig();
// fill in the link config values
linkConfig.getStringInput("linkConfig.connectionString").setValue("jdbc:mysql://10.0.0.1:3306/table");
linkConfig.getStringInput("linkConfig.jdbcDriver").setValue("com.mysql.jdbc.Driver");
linkConfig.getStringInput("linkConfig.username").setValue("root");
linkConfig.getStringInput("linkConfig.password").setValue("root");