[
https://issues.apache.org/jira/browse/KAFKA-13738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Juhi Bhadviya updated KAFKA-13738:
----------------------------------
Description:
We have created a custom docker image using `confluentinc/cp-kafka:7.0.1` :
{code:java}
FROM confluentinc/cp-kafka:7.0.1 as Builder
FROM openjdk11:alpine-jre
RUN apk update && apk upgrade && apk --no-cache add bash
COPY --from=Builder /usr/share/java/kafka/kafka_*-ccs.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/scala*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/metrics-core*.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/jopt-simple*.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/argparse*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/slf4j-api*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/slf4j-log4j12*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/confluent-log4j*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/connect*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/reflections*.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/javassist*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/maven*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/commons*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/jackson*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/cp-base-new/kafka-clients*-ccs.jar
/usr/share/java/kafka/
COPY --from=Builder /etc/kafka/connect-log4j.properties
/etc/kafka/connect-log4j.properties
ENV CLASSPATH='/usr/share/java/kafka/:/usr/share/java/kafka/'
ENV
KAFKA_LOG4J_OPTS='-Dlog4j.configuration=file:/etc/kafka/connect-log4j.properties'
COPY --from=0 /bin/connect-mirror-maker /bin/kafka-run-class /bin/
RUN cp /opt/java/openjdk/lib/security/cacerts /tmp/kafka.client.truststore.jks
RUN mkdir -p /tmp/config
CMD ["sh", "-c", "/bin/connect-mirror-maker /tmp/config/mm2.properties"]
{code}
The mm2.properties file is as below:
clusters = source, target
ource.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule
required username="" password="";
target.ssl.truststore.location=/tmp/kafka.client.truststore.jks
target.security.protocol=SASL_SSL
target.sasl.mechanism=SCRAM-SHA-512
target.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule
required username="" password="";
source->target.enabled = true
target->source.enabled = false
topics = .*
groups = .*
tasks.max = 1
replication.factor = 3
refresh.topics.enabled = true
sync.topic.configs.enabled = true
refresh.topics.interval.seconds = 5
topics.blacklist = random
groups.blacklist = random
Enable heartbeats and checkpoints.
source->target.emit.heartbeats.enabled = true
source->target.emit.checkpoints.enabled = true
source->target.sync.group.offsets.enabled = truesource.bootstrap.servers = ""
target.bootstrap.servers = ""
#security.protocol=SSL
source.ssl.truststore.location=/tmp/kafka.client.truststore.jks
source.security.protocol=SASL_SSL
source.sasl.mechanism=SCRAM-SHA-512
s
However in MM2 logs, the properties are not set as per the property file
provided, instead uses default values:
{code:java}
sync.group.offsets.enabled = false{code}
Due this consumer offset sync is not working.
was:
{quote}We have created a custom docker image using
`confluentinc/cp-kafka:7.0.1` :
FROM confluentinc/cp-kafka:7.0.1 as Builder
FROM openjdk11:alpine-jre
RUN apk update && apk upgrade && apk --no-cache add bash
COPY --from=Builder /usr/share/java/kafka/kafka_*-ccs.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/scala*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/metrics-core*.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/jopt-simple*.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/argparse*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/slf4j-api*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/slf4j-log4j12*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/confluent-log4j*[.]jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/connect*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/reflections*.jar
/usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/javassist*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/maven*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/commons*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/kafka/jackson*.jar /usr/share/java/kafka/
COPY --from=Builder /usr/share/java/cp-base-new/kafka-clients*-ccs.jar
/usr/share/java/kafka/
COPY --from=Builder /etc/kafka/connect-log4j.properties
/etc/kafka/connect-log4j.properties
ENV CLASSPATH='/usr/share/java/kafka/{*}:/usr/share/java/kafka/{*}'
ENV
KAFKA_LOG4J_OPTS='-Dlog4j.configuration=[file:/etc/kafka/connect-log4j.properties|file://etc/kafka/connect-log4j.properties]'
COPY --from=0 /bin/connect-mirror-maker /bin/kafka-run-class /bin/
RUN cp /opt/java/openjdk/lib/security/cacerts /tmp/kafka.client.truststore.jks
RUN mkdir -p /tmp/config
CMD ["sh", "-c", "/bin/connect-mirror-maker /tmp/config/mm2.properties"]
```
{quote}
The mm2.properties file is as below:
clusters = source, target
source.bootstrap.servers = ""
target.bootstrap.servers = ""
#security.protocol=SSL
source.ssl.truststore.location=/tmp/kafka.client.truststore.jks
source.security.protocol=SASL_SSL
source.sasl.mechanism=SCRAM-SHA-512
source.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule
required username="" password="";
target.ssl.truststore.location=/tmp/kafka.client.truststore.jks
target.security.protocol=SASL_SSL
target.sasl.mechanism=SCRAM-SHA-512
target.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule
required username="" password="";
source->target.enabled = true
target->source.enabled = false
topics = .*
groups = .*
tasks.max = 1
replication.factor = 3
refresh.topics.enabled = true
sync.topic.configs.enabled = true
refresh.topics.interval.seconds = 5
topics.blacklist = random
groups.blacklist = random
Enable heartbeats and checkpoints.
source->target.emit.heartbeats.enabled = true
source->target.emit.checkpoints.enabled = true
source->target.sync.group.offsets.enabled = true
However in MM2 logs, the properties are not set as per the property file
provided, instead uses default values:
```
sync.group.offsets.enabled = false
```
Due this consumer offset sync is not working.
> Mirror Maker2 properties are not being picked up from properties file
> ---------------------------------------------------------------------
>
> Key: KAFKA-13738
> URL: https://issues.apache.org/jira/browse/KAFKA-13738
> Project: Kafka
> Issue Type: Bug
> Components: mirrormaker
> Affects Versions: 2.8.0
> Reporter: Juhi Bhadviya
> Priority: Major
> Labels: mirror-maker, mirrormaker
>
> We have created a custom docker image using `confluentinc/cp-kafka:7.0.1` :
>
> {code:java}
> FROM confluentinc/cp-kafka:7.0.1 as Builder
> FROM openjdk11:alpine-jre
> RUN apk update && apk upgrade && apk --no-cache add bash
> COPY --from=Builder /usr/share/java/kafka/kafka_*-ccs.jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/scala*.jar /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/metrics-core*.jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/jopt-simple*.jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/argparse*[.]jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/slf4j-api*[.]jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/slf4j-log4j12*[.]jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/confluent-log4j*[.]jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/connect*.jar /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/reflections*.jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/javassist*.jar
> /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/maven*.jar /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/commons*.jar /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/kafka/jackson*.jar /usr/share/java/kafka/
> COPY --from=Builder /usr/share/java/cp-base-new/kafka-clients*-ccs.jar
> /usr/share/java/kafka/
> COPY --from=Builder /etc/kafka/connect-log4j.properties
> /etc/kafka/connect-log4j.properties
> ENV CLASSPATH='/usr/share/java/kafka/:/usr/share/java/kafka/'
> ENV
> KAFKA_LOG4J_OPTS='-Dlog4j.configuration=file:/etc/kafka/connect-log4j.properties'
> COPY --from=0 /bin/connect-mirror-maker /bin/kafka-run-class /bin/
> RUN cp /opt/java/openjdk/lib/security/cacerts /tmp/kafka.client.truststore.jks
> RUN mkdir -p /tmp/config
> CMD ["sh", "-c", "/bin/connect-mirror-maker /tmp/config/mm2.properties"]
>
> {code}
> The mm2.properties file is as below:
> clusters = source, target
> ource.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule
> required username="" password="";
> target.ssl.truststore.location=/tmp/kafka.client.truststore.jks
> target.security.protocol=SASL_SSL
> target.sasl.mechanism=SCRAM-SHA-512
> target.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule
> required username="" password="";
> source->target.enabled = true
> target->source.enabled = false
> topics = .*
> groups = .*
> tasks.max = 1
> replication.factor = 3
> refresh.topics.enabled = true
> sync.topic.configs.enabled = true
> refresh.topics.interval.seconds = 5
> topics.blacklist = random
> groups.blacklist = random
> Enable heartbeats and checkpoints.
> source->target.emit.heartbeats.enabled = true
> source->target.emit.checkpoints.enabled = true
> source->target.sync.group.offsets.enabled = truesource.bootstrap.servers = ""
> target.bootstrap.servers = ""
> #security.protocol=SSL
> source.ssl.truststore.location=/tmp/kafka.client.truststore.jks
> source.security.protocol=SASL_SSL
> source.sasl.mechanism=SCRAM-SHA-512
> s
>
> However in MM2 logs, the properties are not set as per the property file
> provided, instead uses default values:
> {code:java}
> sync.group.offsets.enabled = false{code}
> Due this consumer offset sync is not working.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)