当前位置: 首页 > 知识库问答 >
问题:

将Kafka connect嵌入Ksqldb-server时,挂载(卷)不起作用

云和同
2023-03-14

尝试在Ksqldb Server中嵌入Kafka连接器时,“卷”映射似乎不起作用

下面是我的docker文件

ksqldb-server:
        image: confluentinc/ksqldb-server:0.18.0
        hostname: ksqldb-server
        container_name: ksqldb-server
        depends_on:
          - broker
          - schema-registry
        ports:
          - "8088:8088"
        volumes:
          - "/usr/local/share/kafka/connectors/debezium-debezium-connector-mysql/lib:/usr/share/kafka/plugins/"
        environment:
          KSQL_LISTENERS: "http://0.0.0.0:8088"
          KSQL_BOOTSTRAP_SERVERS: "broker:9092"
          KSQL_KSQL_SCHEMA_REGISTRY_URL: "http://schema-registry:8081"
          KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
          KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
          # Configuration to embed Kafka Connect support.
          KSQL_CONNECT_GROUP_ID: "ksql-connect-cluster"
          KSQL_CONNECT_BOOTSTRAP_SERVERS: "broker:9092"
          KSQL_CONNECT_KEY_CONVERTER: "org.apache.kafka.connect.storage.StringConverter"
          KSQL_CONNECT_VALUE_CONVERTER: "io.confluent.connect.avro.AvroConverter"
          KSQL_CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: "http://schema-registry:8081"
          KSQL_CONNECT_CONFIG_STORAGE_TOPIC: "_ksql-connect-configs"
          KSQL_CONNECT_OFFSET_STORAGE_TOPIC: "_ksql-connect-offsets"
          KSQL_CONNECT_STATUS_STORAGE_TOPIC: "_ksql-connect-statuses"
          KSQL_CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
          KSQL_CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
          KSQL_CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
          KSQL_CONNECT_PLUGIN_PATH: "/usr/share/kafka/plugins"

当我尝试使用连接器创建源时,我看到以下错误

{ “error_code” : 500, “message” : “找不到任何实现连接器的类,并且其名称与io.debezium.connector.mysql.MySqlConnector匹配,可用的连接器是:..........}”}

我在文件夹“/usr/local/share/Kafka/connectors/debezium-debezium-connector-MySQL/lib”中本地安装了所需的jar文件,如上面docker文件中的卷所映射的。

我错过了什么?

非常感谢

共有2个答案

瞿博学
2023-03-14

下面的映射对我有用

volumes:
          - "./confluent-hub-components/:/usr/share/kafka/plugins/"

可能的答案是-对于文件夹“/usr/本地/共享/kafka/连接器/”,可能存在与权限相关的问题,因此映射在docker撰写文件中不起作用。对于上面的新文件夹(不在 /usr根文件夹中),映射起作用。

相云
2023-03-14

下载连接器 zip 文件后,使用 plugin.path 配置属性将其文件提取到工作线程配置中的插件路径(例如 connect-distributed.properties)。例如,假设您已经下载了Debezium MySQL连接器存档并将其内容提取到/kafka/connect/debezium-connector-mysql。然后,您将在工作线程配置中指定以下内容:

plugin.path=/kafka/connect

因此,在您安装到内部路径的情况下,连接器插件需要在另一个文件夹中,而不是直接安装插件路径

 类似资料:
  • 问题内容: 我最近创建了一个在Windows上的boot2docker上运行的mongodb docker实例。 不幸的是,在尝试kitematic的过程中,我意外地从mongo容器中删除了该卷,并且无法再访问我的数据。 mongo实例似乎创建了一个新卷,而旧卷现在仍悬空(孤立)并且未安装在任何容器中。 有什么办法可以恢复吗? 问题答案: 感谢您的答复,它使我处于正确的轨道,我设法使用以下命令启动

  • 问题内容: 我正在使用Docker,并且我想挂载一个变化很大的动态文件夹(因此我不必为每次执行都制作一个Docker映像,这会太昂贵),但是我希望该文件夹是只读的。将文件夹所有者更改为其他人可行。但是,需要访问权限,而我不希望将其公开给应用程序。 当我使用flag进行挂载时,它将提供我提供的任何用户名,我在docker映像内创建了一个非root用户,但是,该卷中的所有文件都以运行docker的用户

  • 我试图使用kubernetes在spark cluster模式下从服务器读取一个文件,所以我将我的文件放在所有workers上,并使用< br> val conf = new SparkConf()挂载驱动程序卷。setAppName("sparksetuptest ")。set(" spark . kubernetes . driver . volumes . host path . host

  • 我们使用创建了一个PersistentVolume pv01: 并通过键入: 然后,当我们键入时,PersistentVolume显示“可用”的状态。 注此OP与其他问题不同,因为即使在NFS IP和路径周围有引号,此问题仍然存在。 为什么这种PVC不与PV结合?需要做哪些具体的改变来解决这个问题?

  • 问题内容: 我有ES 2.2.0,我正在尝试 但我明白了 这是文件jnk.json的内容 所以我要创建一个映射,然后发布一个文档。我究竟做错了什么? 我得到相同的结果 编辑 非常感谢@Bahaaldine Azarmi!有一个缺少的逗号,我能够分别创建映射:),但我尝试使用bulk命令作为 按照API,它给了我错误 这是我的post.json 我的语法有问题吗?哪个角色不合适? 固定 批量api中

  • 在花了一天时间尝试各种配置选项后,我无法让Debezium SQL Server连接器与ksqlDB embedded Kafka Connect配合使用。ksqlDB或Debezium网站似乎都没有关于如何设置此功能的明确指导。 有哪些文档表明,只需将相关的Kafka连接插件安装到指定位置,所有操作都应能神奇地开箱即用。。。但不幸的是,我没有这样的运气,我收到的错误信息也没有给我任何反馈。 我的