Open sailxjx opened 6 years ago
I'm facing a similar issue, "Failed to find any class that implements Connector and which name matches io.confluent.connect.jdbc.JdbcSourceConnector" when upgrading from 3.3.1 to 4.0.0 using a kafka connect clean image. It worked like a charm before upgrading to 4.0.0 and now I've tried to use both CLASSPATH and plugin.path to overcome the problem. My jdbc driver is not in the list of available plugins, though. Upgraded from 3.2.0 to 3.3.1 just soime days ago without any kind of issue.
@SunYour you should only use plugin.path in 4.0.0, because the launch script of cp-kafka-connect-base image will reset the classpath.
I solve this problem by using an alias instead of the complete connector name, such as 'MongoSourceConnector'. However, this may still become an issue in 4.0, because the aliases may conflict and the complete connector name worked in 3.2.0.
Oh, how did you solve it using an alias, can you provide an example of the configuration?
This is an example of my connector's config
{
"connector.class": "MongoSourceConnector",
"topic.prefix": "mongo_test",
"tasks.max": "8",
"schema.name": "mongo_test_schema",
"name": "mongo_source_test"
}
the framework will create an alias for every connector class, which is the class name without package name.
Ah, I see @sailxjx. I thought you meant some alias-creating-step prior to changing the class name to only contain the rightmost part of the complete class name.
I did as you suggested, and now it works! Thanks a lot!
Also added the CONNECT_PLUGIN_PATH like:
CONNECT_PLUGIN_PATH: "/usr/share/java"
Not sure if it's actually needed, though...
@SunYour you can discard the plugin.path option in 3.2.0 if you put your connector in path '/usr/share/java'. But you must explicit define the plugin.path in 4.0.0.
FWIW I hit the same issue on 4.0.0, and resolved it by only setting the env variable CONNECT_PLUGIN_PATH
to /usr/share/java/
(as described by @SunYour). The alias wasn't needed in my case, which was using the S3 sink plugin.
When upgrading to cp-connect-base 4.0.0, I met an error happened before, which is 'Can not find connector class'. However the error message shown my connector was in the available connector list
Can anyone give an explain?