AKS集群中Confluent Connect添加MariaDB JDBC驱动的步骤求助
解决AKS上Confluent Connect缺失MariaDB JDBC驱动的分步方案
方案一:基于Confluent Operator构建含驱动的镜像(持久化,推荐)
该方案利用Operator的onDemand构建机制,自动生成包含MariaDB驱动的Connect镜像,重启Pod后不会丢失配置。
准备MariaDB JDBC驱动包
- 下载与你的MariaDB版本兼容的JDBC驱动jar包(推荐2.7.x及以上版本),得到文件如
mariadb-java-client-2.7.14.jar。 - 在AKS集群所在的终端环境中,用以下命令创建存储驱动的ConfigMap:
kubectl create configmap mariadb-jdbc-driver --from-file=mariadb-java-client-2.7.14.jar -n ckafka
- 下载与你的MariaDB版本兼容的JDBC驱动jar包(推荐2.7.x及以上版本),得到文件如
修改Connect自定义资源(CR)配置
编辑现有的Connect CR:kubectl edit connect connect -n ckafka更新
spec部分,添加驱动插件的挂载配置,完整的spec.build及挂载配置如下:spec: replicas: 1 image: application: confluentinc/cp-server-connect:7.3.0 init: confluentinc/confluent-init-container:2.5.0 configOverrides: server: - config.storage.replication.factor=1 - offset.storage.replication.factor=1 - status.storage.replication.factor=1 build: type: onDemand onDemand: plugins: - locationType: confluentHub confluentHub: name: kafka-connect-jdbc owner: confluentinc version: 10.6.3 - locationType: local local: name: mariadb-jdbc-driver path: /usr/share/confluent-hub-components/mariadb-jdbc-driver volumeMounts: - name: mariadb-driver mountPath: /usr/share/confluent-hub-components/mariadb-jdbc-driver volumes: - name: mariadb-driver configMap: name: mariadb-jdbc-driver保存退出后,Confluent Operator会自动重建Connect StatefulSet的Pod,加载MariaDB驱动。
方案二:手动拷贝驱动到运行中的Pod(临时验证用)
此方法仅适合临时测试,Pod重建后驱动会被清除。
将本地驱动jar拷贝到Connect Pod
执行以下命令,把驱动jar拷贝到JDBC Connector的lib目录:kubectl cp mariadb-java-client-2.7.14.jar ckafka/connect-0:/usr/share/confluent-hub-components/confluentinc-kafka-connect-jdbc/lib/重启Pod使驱动生效
kubectl delete pod connect-0 -n ckafkaStatefulSet会自动重建新的Pod,此时驱动已加载。
验证驱动加载状态
Pod重启完成后,通过日志确认驱动是否成功加载:
kubectl logs connect-0 -n ckafka | grep "mariadb"
若日志中出现Loaded JDBC driver: org.mariadb.jdbc.Driver的内容,说明驱动已正常生效。
内容的提问来源于stack exchange,提问作者Luana Mantovan
相关产品推荐
相关产品推荐

