why docker image ksqldb-server do not have all the features of cp-ksqldb-server ?
this page https://hub.docker.com/r/confluentinc/ksqldb-server
do not give the link to the dockerfile of ksqldb-server
https://github.com/confluentinc/ksql/tree/master/ksqldb-docker
the image confluentinc/ksqldb-server is not build with this repo https://github.com/confluentinc/ksql-images
so many configuration features are missing in ksqldb-server image
Since I want custom LOG4J ( what is impossible with https://hub.docker.com/r/confluentinc/ksqldb-server )
I had to create a custom image
FROM confluentinc/ksqldb-server:0.24.0
ADD --chown=appuser:appuser run /usr/bin/docker/run
ADD --chown=appuser:appuser log4j.properties.template /etc/confluent/docker/log4j.properties.template
RUN chmod +x /usr/bin/docker/run
and add this line to the file run
dub template "/etc/confluent/docker/log4j.properties.template" "/etc/ksqldb/log4j.properties"
this really confused me when following up this page https://docs.ksqldb.io/en/latest/reference/processing-log/.
below configurations didn't work for me when using ksqldb-server image
environment:
# --- ksqlDB Server log config ---
KSQL_LOG4J_ROOT_LOGLEVEL: "ERROR"
KSQL_LOG4J_LOGGERS: "org.apache.kafka.connect.runtime.rest=WARN,org.reflections=ERROR"
# --- ksqlDB processing log config ---
KSQL_LOG4J_PROCESSING_LOG_BROKERLIST: kafka:29092
KSQL_LOG4J_PROCESSING_LOG_TOPIC: <ksql-processing-log-topic-name>
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_NAME: <ksql-processing-log-topic-name>
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
cp-ksqldb-server:7.5.1 now failing to start with error ClassNotFoundException KafkaLog4jAppender
https://github.com/confluentinc/ksql-images/issues/104
When configured with
# --- Processing log config ---
KSQL_LOG4J_ROOT_LOGLEVEL: "DEBUG"
KSQL_LOG4J_LOGGERS: "org.apache.kafka.connect.runtime.rest=WARN,org.reflections=ERROR"
KSQL_LOG4J_PROCESSING_LOG_BROKERLIST: "my-brokers"
KSQL_LOG4J_PROCESSING_LOG_TOPIC: processing_log
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_NAME: processing_log
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "false"
Are we missing this dependency in https://github.com/confluentinc/ksql/blob/master/ksqldb-docker/pom.xml ?
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-log4j-appender</artifactId>
<version>${kafka.version}</version>
</dependency>
Still seeing this error with 7.6.1
ksqldb is an almost dead project , even confluent is marketing flink usage