TDengine Kafka Connector使用步骤

td版本:3.0.7.1
指路:td官网TDengine Kafka Connector使用步骤

1.废话步骤之安装td(docker-compose方式)

version: "3.0"
services:
  tdengine:
    image: tdengine/tdengine:3.0.7.1
    container_name: tdengine
    restart: always
    hostname: tdengine
    ports:
      - 6030:6030
      - 6041:6041
      - 6043-6049:6043-6049
      - 6043-6049:6043-6049/udp
    environment:
      TAOS_FQDN: "tdengine"
      TAOS_FIRST_EP: "tdengine"
    volumes:
      - ./data:/var/lib/taos/
      - ./log:/var/log/taos/
      - ./temp:/var/temp

2.安装kafka(docker-compose方式)

version: "3"
services:
  zookeeper:
    image: 'bitnami/zookeeper:3.6'
    container_name: zookeeper
    restart: always
    ports:
      - 2181:2181
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes

  kafka:
    image: 'bitnami/kafka:3.0'
    container_name: 'kafka'
    restart: always
    ports:
      - 9092:9092
      - 8083:8083 #暴露插件端口
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
      - KAFKA_CFG_LOG_RETENTION_HOURS=6
    depends_on:
      - zookeeper
    volumes:
      - /usr/local/kafka_components:/components #映射插件目录(下面步骤会用到)

注:使用TSDB方式连接连接td需要安装td客户端
附下载地址:td-client下载地址

3.安装 TDengine Connector 插件
(1)官方步骤下载会超时,建议从github直接下载源码zip
指路下载地址:Tdengine Connector

在idea打包插件,执行命令

mvn clean package -Dmaven.test.skip=true

取出生成目录target/components/packages/下的zip文件,解压后放到第1步指定的宿主机目录/usr/local/kafka_components下

(2)进入kafka容器内部config目录,修改connect-distributed.properties
参数加入插件目录plugin.path=/components(第1步docker-compose.yml所映射容器内部插件存放目录)

4.启动kafka
进入docker-compose.yml目录,执行命令

docker-compose up -d

5.进入kafka容器内部bin目录下,执行命令

connect-distributed.sh -daemon $KAFKA_HOME/config/connect-distributed.properties

6.验证kafka connect是否成功

curl http://localhost:8083/connectors

成功控制台会输出

[]

7.测试TDengine Sink Connector
(1)准备sink-demo.json

{
  "name": "TDengineSinkConnector",
  "config": {
    "connector.class": "com.taosdata.kafka.connect.sink.TDengineSinkConnector",
    "tasks.max": "1",
    "topics": "sink",
    "connection.url": "jdbc:TAOS://ip:6030",
    "connection.user": "root",
    "connection.password": "taosdata",
    "connection.database": "sink",
    "connection.database.prefix": ,
    "db.schemaless": "line",
    "key.converter": "org.apache.kafka.connect.storage.StringConverter",
    "value.converter": "org.apache.kafka.connect.storage.StringConverter"
  }
}

(2)新增connector,执行命令

curl -X POST -d @sink-demo.json http://localhost:8083/connectors -H "Content-Type: application/json"

成功控制台会输出connector配置信息

注意事项:
1.使用connection.database.prefix配置时,官网${topic}配置默认占位的,所以纯粹使用topic作为数据库名的时候,无需配置
2.使用connection.database.prefix配置时,如果topic配置了多个,会出现以下问题,建议使用connection.database.prefix配置时,topic只配置一个
在这里插入图片描述
3.如果想要配置connector自动创建数据库的KEEP和DURATION,建议直接修改源码

(3)准备kafka数据test-data.txt

sink,location=California.LosAngeles,groupid=2 current=11.8,voltage=221,phase=0.28 1648432611249000000
sink,location=California.LosAngeles,groupid=2 current=13.4,voltage=223,phase=0.29 1648432611250000000
sink,location=California.LosAngeles,groupid=3 current=10.8,voltage=223,phase=0.29 1648432611249000000
sink,location=California.LosAngeles,groupid=3 current=11.3,voltage=221,phase=0.35 1648432611250000000

(4)向kafka发送数据,执行命令

cat test-data.txt | kafka-console-producer.sh --broker-list localhost:9092 --topic sink

(5)taos执行命令,查看是否同步

use sink

注意事项:
1.如果想要自定义子表名,需要在修改i客户端配置,编辑/etc/taos下的taos.cfg文件,新增配置

smlChildTableName=<子表名字段>

influxDB格式如下

<超表名>,<子表名>,<tag(逗号分隔)> 空格 <字段(逗号分隔)> 空格 时间戳

指路:td官网influxDB格式说明

附:
查看所有connector

curl -s -X GET "http://localhost:8083/connectors/"

删除connector

curl -s -X DELETE "http://localhost:8083/connectors/<连接名>"

查看connector状态

curl -s -X GET "http://localhost:8083/connectors/<连接名>/status"

改造源码部分截图:
1.SinkConfig
在这里插入图片描述

2.TdengineSinkTask
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答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强大的消息队列功能进行实时数据处理、分析和流式处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值