You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下SpoolDirCsvSourceConnector创建Kafka Connect连接器失败

解决Kafka Connect SpoolDir连接器input.path/error.path路径无效问题

核心原因

你用Docker部署的Kafka Connect,连接器运行在容器内部,不能直接使用宿主机的路径,必须配置容器内部的绝对路径,同时要确保宿主机的目标目录已经挂载到容器对应路径。

具体修复步骤

  1. 调整docker-compose的卷挂载配置
    在Connect服务的volumes字段中,添加宿主机目录到容器的挂载映射,示例如下:

    services:
      connect:
        # 保留原有其他配置
        volumes:
          - ./testdata:/opt/kafka-connect/input  # 宿主机testdata目录挂载到容器内的/opt/kafka-connect/input
          - ./error:/opt/kafka-connect/error      # 宿主机error目录挂载到容器内的/opt/kafka-connect/error
    

    注意:宿主机的./testdata和./error目录需要提前手动创建。

  2. 修改sample.json的路径配置
    将input.path和error.path替换为容器内的绝对路径:

    {
      "connector.class": "io.confluent.connect.spooldir.SpoolDirCsvSourceConnector",
      "input.path": "/opt/kafka-connect/input",
      "error.path": "/opt/kafka-connect/error",
      # 保留原有其他配置项
    }
    
  3. 确保目录权限正确
    给宿主机的挂载目录设置可读写权限,避免容器内用户无法访问:

    chmod -R 777 ./testdata ./error
    
  4. 重启服务并重新创建连接器
    先重启Docker Compose让挂载配置生效:

    docker-compose down && docker-compose up -d
    

    再执行你的curl命令创建连接器:

    curl -i -X PUT -H "Accept:application/json" -H  "Content-Type:application/json" http://localhost:8083/connectors/source-csv-spooldir-00/config  -d @sample.json
    

验证方法

进入Connect容器,检查挂载路径是否正常:

docker exec -it <connect-container-name> bash
ls -l /opt/kafka-connect/input

如果能看到宿主机的testdata.csv文件,说明挂载配置生效。

内容的提问来源于stack exchange,提问作者Vineet Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 22:12:38