Hi Robin,
Thanks a lot for responding to my question.
We have same Kafka cluster running across 2 datacenters (spread deployment), so for that Kafka cluster, I created a set of config/offset/status topics.
Then I tried to run two connectors (jobs): one for each datacenter, and both are using the same internal topics above.
Due to my lacking of knowledge, I set both jobs with same connector name, but different
group.id and different kafka source topic (this is Sink connector), hoping that I'll get two different connectors running.
Per
https://docs.confluent.io/platform/current/connect/userguide.html#kconnect-internal-topics:
- Connect clusters cannot share Group IDs or internal topics. Simply changing a group.id will not create a new worker separate from an existing Connect cluster. The new group.id must also have unique internal topics associated with it. This requires setting unique config.storage.topic, offset.storage.topic, and status.storage.topic configuration properties for the new group.id.
- You also must use different connector names than those used in the existing Connect cluster since a consumer group is created based on the connector name. Each connector in a Connect cluster shares the same consumer group.
Per bullet points above, my understanding is I cannot use same connector name different
group.id to achieve what I am looking for, and instead I should specify different connector name for each, is that correct?
Also, have you seen this error before? Earlier I thought this error happened because I used same connector name for same set of internal topics, which may mess them up :-(
Uncaught exception in REST call to /connectors/<connector-name>/tasks/8/restart
java.lang.IllegalArgumentException: "uriTemplate" parameter is null.
at org.glassfish.jersey.uri.internal.JerseyUriBuilder.uri(JerseyUriBuilder.java:189)
at org.glassfish.jersey.uri.internal.JerseyUriBuilder.uri(JerseyUriBuilder.java:72)
at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:120)
at org.apache.kafka.connect.runtime.rest.resources.ConnectorsResource.completeOrForwardRequest(ConnectorsResource.java:258)
at org.apache.kafka.connect.runtime.rest.resources.ConnectorsResource.completeOrForwardRequest(ConnectorsResource.java:293)
at org.apache.kafka.connect.runtime.rest.resources.ConnectorsResource.restartTask(ConnectorsResource.java:213)
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
...