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

当你使用kafka(在Docker容器中)时,插件路径到底在哪里?

祁驰
2023-03-14

-我用kafka,kafka-connect(图片:confluentinc/cp-kafka-connect)

当你在Docker容器中使用Kafka时,如果你想操作Kafka,你必须进入容器(如'docker exec -it kafka'或'docker exec -it kafka-connect'----

我尝试将一些连接器(jdbc连接器、mysql连接器)放入kafka-link容器中,但它不起作用。

所以。。我的问题是

  1. docker合成(放入容器中)后,如果我想连接一些连接器('./bin/connect-distributed.sh./etc/kafka/connect-distributed.properties),我必须进入哪个容器
  2. 如果我键入插件路径,我应该在哪里写?(Kafka?Kafka连接?)

我不介意它是否难以阅读...对此感到抱歉

共有2个答案

莫英喆
2023-03-14

如果你的需求是启动一个Kafka连接。

您可以使用ConFluent发布的基本指南“构建您自己的Apache Kafka®演示”

基本上,您需要执行以下指令:

git clone https://github.com/confluentinc/cp-all-in-one.git
cd cp-all-in-one/cp-all-in-one
git checkout 7.1.1-post
docker-compose up -d

它在http://localhost:8088上有控制中心

如果需要安装连接器,可以转到https://www.confluent.io/hub选择特定的连接器。

然后,您可以创建特定Kafka Connect服务器的DockerImage。

1.-编写Dockerfile。

vim Dockerfile

2.-从Confluent Hub添加连接器“example JDBC”。

FROM confluentinc/cp-kafka-connect
ENV MYSQL_DRIVER_VERSION 5.1.39
RUN confluent-hub install --no-prompt confluentinc/kafka-connect-jdbc:10.5.0
RUN curl -k -SL "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-${MYSQL_DRIVER_VERSION}.tar.gz" \
     | tar -xzf - -C /usr/share/confluent-hub-components/confluentinc-kafka-connect-jdbc/lib \
     --strip-components=1 mysql-connector-java-5.1.39/mysql-connector-java-${MYSQL_DRIVER_VERSION}-bin.jar

3.-构建docker映像。

docker build . -t my-kafka-connect-jdbc:1.0.0

4.-然后,你可以去编辑你的docker-compose.yml,改变第57行

从:

image: cnfldemos/cp-server-connect-datagen:0.5.3-7.1.0

自:

image: my-kafka-connect-jdbc:1.0.0

5.-最后,停止并启动您的合流平台本地环境:

docker-compose down
docker-compose up

验证您的码头工人

docker ps

测试您的连接服务器:

curl --location --request GET 'http://localhost:8083/connectors'
罗均
2023-03-14

不,除非您无法在主机上下载 Kafka 以获取 CLI 脚本,否则您无需在任何地方执行。但是你只会执行 kafka 主题、控制台生产者/消费者、kafka 消费者组等,而不是任何 Connect 脚本。

Connect 容器会自动运行分布式脚本,您只需将CONNECT_PLUGIN_PATH作为环境变量提供给容器中要用于插件的任何目录(如果我挂载卷,我喜欢 /opt/connectors,但这不是 confluent-hub 安装到该映像的地方)。该变量不对代理映像执行任何操作,仅对 Connect 执行任何操作。

相关如何将连接器安装到apache kafka连接的docker映像

 类似资料:
  • 我使用存储所在的VM: C:\users\***username***\.docker\machine\machines\default\disk.vmdk 然而,当我添加和删除100MB的图像时,硬盘上的文件大小几乎没有变化。boot2docker.iso也是相同空间。

  • 问题内容: 注意:Windows和Docker都是新手 我一直在使用的教程说,如果我们使用的是Linux,它们就在下面,但是我似乎无法在Windows计算机上找到它。 谢谢! 问题答案: 输入docker-machine与 在那里,您应该找到您的容器。

  • 我有一个运行基本. jmx测试的JMeter 5.3容器。测试中有Johrstrom的Prometheus插件,为端口9270配置。如果我在Docker之外运行测试,我可以使用“curllocalhost:9270”来获取指标。当我在Docker内运行测试时,情况类似。如果我转到JMeter Docker命令行,我可以运行“wgetlocalhost:9270”(图中没有curl),它会给我指标。

  • 我有一个带有Ruby应用程序的docker映像(它是按原样交付的,没有Dockerfile等),当我尝试运行带有的docker容器时,我得到。所有建议的修复方法都是指定Dockerfile中的内容(那里没有whick)。这条路有跑集装箱的地方吗?

  • docker-compose.yml文件: 中的dockerfile: 这是我用来建立一个简单的WordPress博客的生产环境(为了简单起见,省略了docker-compose.yml&Dockerfile中的其他服务)。 null null null 我不明白的是: 您可以通过哪些方法将最新代码放入使用绑定挂载来持久化数据的容器中? 如何创建一个可以让我在运行时实现这一点的脚本? 考虑到必须使

  • 运行诸如之类的git命令