kafka connector使用(Docker一键启动版)

前言

结合博主之前写的一篇《kafka connector使用(单机手动启动版)》一起看

版本

kafka: confluentinc/cp-kafka:7.0.1
zookeeper: confluentinc/cp-zookeeper:7.0.1

思路

将该连接器做成一个镜像。

实现

一、制作镜像

Dockerfile

FROM confluentinc/cp-kafka:7.0.1
COPY connect-redis.jar /usr/share/java/connect-redis.jar
CMD ["connect-standalone","/etc/kafka/connect-standalone.properties","/etc/kafka/connect-redis-source.properties"]

将Dockerfile和超级jar放在一个文件夹下,docker build -t curtain/kafka-connector:7.0.1 .构建连接器镜像

二、编写docker-compose.yml
version: "3.0"
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:7.0.1
    container_name: zookeeper
    restart: always
    ports:
      - 2181:2181
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_SYNC_LIMIT: 2
  kafka:
    image: confluentinc/cp-kafka:7.0.1
    container_name: kafka
    ports:
      - 9092:9092
    environment:
      # client要访问的broker地址
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://服务器ip:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
      # 通过端口连接 zookeeper
    restart: always
    depends_on:
      - zookeeper
  kafka-connector:
    image: curtain/kafka-connector:7.0.1
    container_name: kafka-connector
    volumes:
      - type: bind
        source: ./connect-standalone.properties
        target: /etc/kafka/connect-standalone.properties
      - type: bind
        source: ./connect-redis-source.properties
        target: /etc/kafka/connect-redis-source.properties
    restart: always
    depends_on:
      - zookeeper
      - kafka
三、修改connect-standalone.properties

没有该文件的话,网上找一份。将bootstrap.servers里面的ip部分从localhost改成服务器的ip。

四、上传文件

镜像包docker-compose.ymlconnect-standalone.properties连接器配置文件上传到服务器同一个路径下。

五、加载镜像并启动
  1. 加载镜像:docker load < 镜像包.tar
  2. 启动镜像: docker-compose up -d

这样,kafka连接器就启动啦。

可能会遇到的问题

问题一: 默认写入到kafka的数据会包含一些额外的信息如:schema和payload,我们不想要这些额外的信息怎么办?
connect-standalone.properties配置文件中的key.converter.schemas.enablevalue.converter.schemas.enable设置为false即可
问题二:写入到kafka的数据多了一层双引号和json转义怎么去掉?
这个是因为默认配置的转换器类是org.apache.kafka.connect.json.JsonConverter加上你生成的SourceRecord对象里面的value和key值已经是一个String类型了。这样的话会将String类型的数据json化一遍,就会出现多了一层双引号加转义的情况。修改connect-standalone.properties配置文件中的key.convertervalue.converterorg.apache.kafka.connect.storage.StringConverter即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用Kafka Connect Oracle插件可以让您从Oracle数据库轻松访问Kafka。它支持从Oracle中读取和写入Kafka主题,并使您能够在Oracle数据库和Kafka之间构建出口和入口管道。 ### 回答2: Kafka ConnectorKafka生态系统中的一个组件,用于连接不同的数据源和数据目标。使用Kafka Connector for Oracle可以将Oracle数据库中的数据与Kafka集群进行连接和交互。 首先,要使用Kafka Connector for Oracle,你需要下载和配置该连接器。连接器的配置文件位于Kafka安装目录下的config/connect-standalone.properties文件中。在该文件中,你需要指定连接器的插件路径和相关的连接器属性。 接下来,你需要创建一个连接器配置文件,用于指定连接Oracle数据库的详细信息。这个配置文件可以是一个JSON文件,其中包含连接器的名称、类、连接Oracle数据库的URL、用户名、密码等信息。你可以根据自己的需求进行配置。确保将连接器配置文件的路径添加到config/connect-standalone.properties文件中。 在配置完成后,可以通过启动连接器来连接Oracle数据库和Kafka集群。可以通过运行以下命令来启动连接器: bin/connect-standalone.sh config/connect-standalone.properties 连接器启动后,将根据配置文件中的信息,从Oracle数据库中读取数据并将其发送到Kafka集群中的指定主题。此外,连接器还可以将Kafka主题的内容写回到Oracle数据库中。 需要注意的是,使用Kafka Connector for Oracle时,需要确保Oracle JDBC驱动程序已正确配置和加载。你可以将Oracle JDBC驱动程序的JAR文件放置在Kafka Connect的插件路径中,以供连接器使用。 总的来说,使用Kafka Connector for Oracle可以实现Oracle数据库与Kafka集群之间的数据流动。通过配置连接器和连接器配置文件,可以将数据从Oracle数据库读取到Kafka主题,并将Kafka主题的内容写回到Oracle数据库中。 ### 回答3: 使用Kafka Connector与Oracle集成可以实现将Oracle数据库中的数据实时传输到Kafka消息队列中。以下是使用Kafka Connector Oracle的步骤: 1. 配置Kafka Connect:在Kafka配置文件中,设置Kafka Connect的配置参数,如监听地址、端口、插件路径等。 2. 下载Kafka Connect Oracle插件:在Apache Kafka官方网站或其它可信的源中下载Kafka Connect Oracle插件。确保选择与你使用Kafka本兼容的插件。 3. 安装插件:将下载的插件解压并复制到Kafka Connect的插件路径中。 4. 创建连接器配置文件:在Kafka Connect的配置目录中创建一个新的配置文件(例如:oracle.properties),并在该文件中配置连接到Oracle数据库的参数,如数据库URL、用户名、密码等。 5. 启动Kafka Connect:通过运行指令启动Kafka Connect,指定配置文件的路径。示例指令:bin/connect-standalone.sh config/connect-standalone.properties oracle.properties。 6. 创建连接器:在Kafka Connect中创建一个连接器,将Oracle数据库作为数据源。可通过使用REST API或通过配置文件来创建连接器。 7. 配置连接器:在连接器配置文件中,设置连接器的名称、任务、转换、主题等属性。例如,设置任务为使用Oracle数据库捕获变化数据并将其发送到Kafka主题。 8. 启动连接器:通过使用REST API或运行相关指令,启动创建的连接器。连接器将开始从Oracle数据库中拉取数据并将其传输到指定的Kafka主题中。 9. 监视连接器:使用Kafka Connect提供的监控工具监视连接器的运行状态、数据传输等指标。 通过上述步骤,你就可以成功地使用Kafka Connector与Oracle数据库实现数据的实时传输。这样,你可以利用Kafka强大的消息队列功能进行实时数据处理、分析和流式处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值