使用安装了helm的连接器kafka/confluent

ukqbszuj  于 2021-06-06  发布在  Kafka
关注(0)|答案(5)|浏览(555)

我已经安装了Kafka在当地的迷你们车上使用舵图https://github.com/confluentinc/cp-helm-charts 遵循这些说明https://docs.confluent.io/current/installation/installing_cp/cp-helm-charts/docs/index.html 像这样:

helm install -f kafka_config.yaml confluentinc/cp-helm-charts --name kafka-home-delivery --namespace cust360

kafka_config.yaml几乎与默认的yaml相同,唯一的例外是我将它缩小到1个服务器/代理,而不是3个(只是因为我试图在本地minikube上保存资源;希望这与我的问题无关)。
在minikube上运行的还有一个mysql示例。下面是 kubectl get pods --namespace myNamespace :

我想使用其中一个连接器(比如debezium mysql cdc)连接mysql和kafka。说明书上写着:
安装连接器
使用confluent hub客户端安装此连接器: confluent-hub install debezium/debezium-connector-mysql:0.9.2 听起来不错,除了1)我不知道在哪个pod上运行这个命令,2)没有一个pod有合流中心命令可用。
问题:
汇合枢纽不来安装通过这些舵图表?
我必须自己安装汇合中心吗?
如果是的话,我必须把它安装在哪个吊舱上?

a2mppw5e

a2mppw5e1#

理想情况下,这应该作为 helm 脚本,但不幸的是,它不是现在。解决这个问题的一种方法是从confluent的kafka connect docker映像构建一个新的docker。手动下载连接器并将内容解压缩到文件夹中。将其内容复制到容器中的路径。像下面这样。
dockerfile的内容

FROM confluentinc/cp-kafka-connect:5.2.1
COPY <connector-directory> /usr/share/java
``` `/usr/share/java` 是kafka connect查找插件的默认位置。您还可以使用不同的位置并提供新的位置( `plugin.path` )在你的 `helm` 安装。
构建此映像并将其放置在可访问的位置。您还必须在测试过程中提供/覆盖图像和标记详细信息 `helm` 安装。
这是通往 `values.yaml` 文件。你可以找到 `image` 以及 `plugin.path` 这里的值。
axr492tv

axr492tv2#

只是对杰根上述评论的补充:https://stackoverflow.com/a/56049585/6002912
你可以选择做下面的dockerfile。推荐。

FROM confluentinc/cp-server-connect-operator:5.4.0.0

RUN confluent-hub install --no-prompt debezium/debezium-connector-postgresql:1.0.0

或者可以使用docker的多阶段构建。

FROM confluentinc/cp-server-connect-operator:5.4.0.0

COPY --from=debezium/connect:1.0 \
    /kafka/connect/debezium-connector-postgres/ \
    /usr/share/confluent-hub-components/debezium-connector-postgres/

这将帮助您节省时间为您的插件(如debezium connector postgres)获取正确的jar文件。
来自合流文档:https://docs.confluent.io/current/connect/managing/extending.html#create-a-docker-image-containing-c-hub-connectors连接器

kknvjkwl

kknvjkwl3#

Kafka连接吊舱应该已经安装了汇流集线器。你应该在那个吊舱上运行命令。

z9smfwbn

z9smfwbn4#

在最新版本的chart中,可以使用 customEnv.CUSTOM_SCRIPT_PATH 请参阅readme.md
脚本可以作为秘密传递并作为卷装载

3mpgtkmj

3mpgtkmj5#

cp kafka connect pod有2个容器,其中一个是cp kafka connect服务器容器。该容器已安装confluent hub。您可以登录到该容器并在其中运行连接器命令。若要登录到该容器,请运行以下命令:

kubectl exec -it {pod-name} -c cp-kafka-connect-server -- /bin/bash

相关问题