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

Camel Kafka Connect Jira连接器报“找不到端点”错误求排查方案

Jira与ServiceNow数据交互:Camel Kafka Connect连接问题排查思路

环境配置

在Kubernetes上运行Strimzi集群,Kafka版本4.0,使用org.apache.camel.kafkaconnector.camel-jira-source-kafka-connector连接器(测试过4.0.3和4.0.0版本),当前KafkaConnector配置如下:

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnector
metadata:
  name: jira-source-connector-test
  labels:
    strimzi.io/cluster: my-connect-cluster
spec:
  class: org.apache.camel.kafkaconnector.CamelSourceConnector
  tasksMax: 1
  config:
    camel.kamelet.log-sink.level: DEBUG
    file: "/opt/kafka/LICENSE"
    topic: jira-source-test
    connection.timeout.ms: "5000"
    read.timeout.ms: "5000"
    target.cluster.bootstrap.servers: my-cluster-kafka-bootstrap:9092
    name: "JiraTest"
    camel.source.path.type: "newComments"
    camel.source.url: https://url
    camel.source.password: "password"
    camel.source.username: "username"
    camel.source.jql: "project=TASKTRACK"
    camel.source.contentLogLevel: "DEBUG"
    camel.sink.contentLogLevel: "DEBUG"

问题现象

尝试多种URL、用户名密码配置方式后,始终出现两类错误:

  • 因URL配置参数错误导致的「找不到端点」异常
  • 配置接近目标但仍触发的配置类错误

已尝试操作

  • 在Kafka Connect配置中下载了连接器依赖jar包
  • 测试过十余种配置参数组合
  • 验证了castorm的HTTP连接器可正常连接Jira(配置如下),但该连接器已3年未更新,不适用于生产:
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnector
metadata:
  name: http-source-connector-0
  labels:
    strimzi.io/cluster: my-connect-cluster
spec:
  class: com.github.castorm.kafka.connect.http.HttpSourceConnector
  tasksMax: 1
  config:
    value.converter: org.apache.kafka.connect.storage.StringConverter
    key.converter: org.apache.kafka.connect.storage.StringConverter
    file: "/opt/kafka/LICENSE"
    kafka.topic: jira-source-test
    connection.timeout.ms: "5000"
    read.timeout.ms: "5000"
    name: "HttpConnector0"
    http.request.url: https://url/jira/rest/api/2/search?jql=project=B AND issue=B-123
    http.auth.type: Basic
    http.auth.user: "username"
    http.auth.password: "password"
    http.response.list.pointer: "/issues"

排查思路

1. 修正连接器类与配置前缀混用问题

当前配置使用通用CamelSourceConnector类,而非Jira专用连接器类,导致无法正确识别Jira专属参数。正确的连接器类应为org.apache.camel.kafkaconnector.jira.CamelJiraSourceConnector。

同时需明确配置前缀规则:

  • Jira组件级参数前缀为camel.component.jira.(如camel.component.jira.jiraUrl、camel.component.jira.username)
  • 端点级参数前缀为camel.source.endpoint.(如camel.source.endpoint.jql、camel.source.endpoint.maxResults)
  • 移除冗余配置:file、target.cluster.bootstrap.servers等非Jira Source参数会干扰配置解析

2. 标准化Jira URL配置

HTTP连接器使用完整API路径,但Camel Jira组件仅需Jira根URL(如https://url/jira),组件会自动拼接REST API路径。若使用Jira Cloud,需替换密码为API Token。

示例修正后的核心配置:

spec:
  class: org.apache.camel.kafkaconnector.jira.CamelJiraSourceConnector
  config:
    topic: jira-source-test
    camel.component.jira.jiraUrl: "https://url/jira"
    camel.component.jira.username: "username"
    camel.component.jira.password: "password" # Jira Cloud替换为apiToken
    camel.source.endpoint.jql: "project=TASKTRACK"
    camel.source.endpoint.type: "newComments"

3. 开启详细日志定位具体异常

添加配置camel.component.jira.logLevel: DEBUG,或在Strimzi Connect部署的日志配置中,将org.apache.camel.component.jira包的日志级别设为DEBUG,获取参数解析、认证、API请求的详细错误栈。

4. 验证依赖完整性

进入Connect Pod执行ls /opt/kafka/plugins/,确认Camel Jira连接器的所有依赖(如Jira Java客户端jar)已存在。若缺失,需重新构建包含完整依赖的镜像,或通过Strimzi的build配置自动下载。

5. 对比HTTP请求差异

用K8s的tcpdump或Sidecar工具,对比Camel连接器与HTTP连接器的请求细节:

  • 检查请求URL是否正确拼接
  • 验证Basic Auth头的格式是否合规
  • 确认SSL证书是否被Connect Pod的信任存储认可(自签证书需手动导入)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 07:44:54